【发布时间】:2018-07-10 13:16:58
【问题描述】:
我有一个包含很多按钮的面板(右侧面板)。我想在运行时动态地将选定按钮的快捷方式添加到另一个具有相同属性和事件的面板(左面板)。 按钮有很多属性,比如图像、文本、背景色、前景色……等等。
按钮也会在主面板中打开新表单:
private void butntest_Click(object sender, EventArgs e)
{
this.main_panel.Controls.Clear();
Form1 myForm = new Form1();
myForm.TopLevel = false;
myForm.AutoScroll = true;
this.main_panel.Controls.Add(myForm);
myForm.Show();
}
如何在左侧面板上创建快捷方式?
【问题讨论】:
-
你看过这篇文章吗? stackoverflow.com/questions/25227969/…
-
由于“快捷方式”是菜单和按钮中使用的术语,因此您的标题具有误导性。看起来您确实想要创建一个快捷方式,但想要一种简单的方法来创建副本,也就是克隆..?
-
如果你真的发现所有这些属性都太多无法复制,你应该考虑制作一个可以重复使用的按钮类;把它挂在同一个事件上,你就完成了。或者写一个 buttonClone 工厂函数。
-
控制克隆1 = CloneControl(button8);这将导致此错误:错误 CS0103 The name 'CloneControl' does not exist in the current or Button leftpannelbutton = new Button(); leftpannelbutton = button1.Clone();这将导致此错误:错误 CS1061“按钮”不包含“克隆”的定义,并且找不到接受“按钮”类型的第一个参数的扩展方法“克隆”(您是否缺少 using 指令或程序集引用?)
-
没有内置的
Clone控制方法。您需要自己实现一个。
标签: c# .net winforms events panel