基本上,我有一个 Windows 窗体,它有一个控件,一个控件,一个控件。基本上,当子控件发生某些事情时,我希望父/最顶层控件知道。
我不想将父控件的实例传递到 2 级深。此外,使用观察者/事件处理程序似乎需要创建子类的实例来注册此类事件。
我到底能在这里做什么?甚至 Obj-C 也有全局 RegisterForNotifications。
控件不应该知道谁包含它们。他们应该简单地发布其他人可以订阅的事件。因此,您最内层的孩子引发了下一个外层孩子订阅的事件。它处理它,并可能引发它自己的事件,另一个“容器”(控件或表单)订阅,依此类推。看到这个:http: //msdn.microsoft.com/en-us/library/ms973905.aspx