我想复制一个控件,如按钮、文本框等。
但我不知道如何将事件处理程序方法(如 Click
)复制到新控件。
我现在有以下代码:
var btn2 = new Button();
btn2.Text = btn1.Text;
btn2.size = btn1.size;
// ...
btn2.Click ??? btn1.Click
有没有其他方法可以复制控件?
最佳答案
克隆任何 WinForms 控件的所有事件:
var eventsField = typeof(Component).GetField("events", BindingFlags.NonPublic | BindingFlags.Instance);
var eventHandlerList = eventsField.GetValue(button1);
eventsField.SetValue(button2, eventHandlerList);
关于c# - 如何在运行时克隆 Control 事件处理程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6055038/