在Visual Studio中是否有Delphi的ActionManager替代品

时间:2009-07-29 17:15:14

标签: c# winforms visual-studio delphi tactionmanager

我对VS和C#比较陌生,但在Delphi方面有多年的经验。 在Delphi中设计GUI时,我最喜欢的组件之一是ActionManager - 为操作分配事件处理程序以及启用/禁用它们的集中方式。 令人惊讶的是,我在Visual Studio 2008 Professional中找不到这样的东西。 我确信应该有第三方实现,但我更喜欢标准的东西。

有人能为我推荐一些东西吗?也许有一些替代方法可以有效地管理我缺少的GUI操作?

2 个答案:

答案 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)

在控件的类文档中,将有一个列出所有引发的事件的部分。这些事件还将描述处理它们所需的代表签名。