如何在运行时克隆 Control 事件处理程序?

2023-11-26

我想复制一个控件,如按钮、文本框等。 但我不知道如何复制事件处理程序方法(例如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);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在运行时克隆 Control 事件处理程序? 的相关文章

随机推荐