我对VS和C#比较陌生,但在Delphi方面有多年的经验。 在Delphi中设计GUI时,我最喜欢的组件之一是ActionManager - 为操作分配事件处理程序以及启用/禁用它们的集中方式。 令人惊讶的是,我在Visual Studio 2008 Professional中找不到这样的东西。 我确信应该有第三方实现,但我更喜欢标准的东西。
有人能为我推荐一些东西吗?也许有一些替代方法可以有效地管理我缺少的GUI操作?
答案 0 :(得分:3)
在WPF中有Commands,它们在概念上相似。
答案 1 :(得分:1)
我也喜欢ActionManager。我当时不知道它,但它只是模型 - 视图 - 控制器的奇特实现。事后看来,Delphi对于没有准备的开发者社区来说太先进了8 - )
回到你的问题,C#有事件和委托的概念,它们等同于动作及其处理程序。您将控制事件(或GUI操作)绑定到委托。例如,
mybutton.Click += HandleMyButtonClick;
Click
将是具有签名void (object sender, EventArgs e)
的代理人。此签名后面会跟HandleMyButtonClick
方法一样。
void HandleMyButtonClick(object sender, EventArgs e)
在控件的类文档中,将有一个列出所有引发的事件的部分。这些事件还将描述处理它们所需的代表签名。