有点难以解释,但是有办法做一些事情:
control1.ShownEditor += EventHandler;
...
control2.ShownEditor += control1.ShownEditor; //wrong
答案 0 :(得分:2)
将您的活动保存到EventHandler委托。
EventHandler Myevent = () => {/*event handling code here*/};
将事件处理程序委托分配给控件事件
control1.ShownEditor += Myevent;
control2.ShownEditor += Myevent;
答案 1 :(得分:2)
我认为你需要像this这样的东西来绑定EventHandler
。
当你有处理程序时,你可以轻松地将它绑定到事件。
答案 2 :(得分:1)
简单地说:您不能使用控件事件的EventHandler
并将其分配给另一个事件。所以这是不可能的:
control2.ShownEditor += control1.ShownEditor; //wrong
唯一的方法是单独创建EventHandler
并将其分配给两个控件的事件。
另一个有害的解决办法可能是通过Reflection
提取代理人,但正如我所说,它实际上很危险,look this answer by Hans Passant: Is it possible to “steal” an event handler from one control and give it to another?。