使用Observer / Event处理程序在两个类之间传递数据

时间:2012-10-23 17:18:58

标签: c# windows forms

基本上,我有一个Windows窗体,它在一个控件中有一个控件。基本上,当我在子控件中发生某些事情时,我希望父/最顶层控件知道。

我不想要传递父控件2级深度的实例。此外,使用Observer / Event处理程序似乎需要创建子类的实例来注册此类事件。

我到底能在这做什么?甚至Obj-C也有全球RegisterForNotifications。

1 个答案:

答案 0 :(得分:2)

控件不应该知道谁包含它们。他们应该简单地发布其他人可以订阅的活动。因此,您最内心的孩子会引发下一个外围孩子订阅的事件。它处理它,并可能引发自己的事件,另一个“容器”(控件或表单)订阅,等等。请参阅:http://msdn.microsoft.com/en-us/library/ms973905.aspx