【发布时间】:2011-09-24 03:51:47
【问题描述】:
我有一个控制层次结构,比如 -
MainForm (has menus / toolbars)
|____TabContainer
|_____TabPages
|_____TreeView...etc.
现在,在 TreeView 中加载数据并且用户选择特定的 Node 元素后 - 我想通知 MainForm 以及 TreeView 中层次结构中的一些控件,并相应地更改控件状态在 NodeClicked 事件上。
我正在维护一个静态 EventMgr 类,我在其中发布所有事件以及对特定事件感兴趣的控件,请收听它。我知道有更好的设计方法使单元测试变得容易?有什么想法吗?
【问题讨论】:
-
您是否考虑过一个递归调用,它只会遍历所选控件的所有父控件?而不是需要使用维护列表?我不确定这在这个特定情况下是否有帮助。
-
这对于每个触发的事件都会非常低效
标签: c# winforms design-patterns c#-4.0