【问题标题】:Winforms - Notifying/Publishing events in a control hierarchyWinforms - 在控件层次结构中通知/发布事件
【发布时间】: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


【解决方案1】:

实施代表将是一个更好的选择。

【讨论】:

  • 我已经提到我正在使用事件。请详细说明
猜你喜欢
  • 2011-03-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-19
  • 1970-01-01
  • 2016-03-29
  • 2021-12-11
相关资源
最近更新 更多