【问题标题】:Is there Delphi's ActionManager alternative in Visual StudioVisual Studio 中是否有 Delphi 的 ActionManager 替代品
【发布时间】:2009-07-29 17:15:14
【问题描述】:

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

有人可以为此建议我吗?也许有一些替代方法可以有效地管理我缺少的 GUI 操作?

【问题讨论】:

标签: c# winforms visual-studio delphi tactionmanager


【解决方案1】:

在 WPF 中有Commands,它们在概念上是相似的。

【讨论】:

  • 谢谢,这似乎非常接近,但不幸的是,WinForms 不可用。我不确定是否是时候转向 WPF,但似乎 MS 将 WinForms 定位为过时的技术。对他们不是很好。
【解决方案2】:

我也喜欢 ActionManager。当时我不知道,但它只是模型-视图-控制器的一个花哨的实现。事后看来,对于毫无准备的开发者社区来说,Delphi 太先进了 8-)

回到你的问题,C# 有事件和委托的概念,它们相当于动作及其处理程序。您将控制事件(或 GUI 操作)绑定到委托。例如,

mybutton.Click += HandleMyButtonClick;

Click 将是签名为void (object sender, EventArgs e) 的代表。此签名后跟HandleMyButtonClick 方法,如下所示。

void HandleMyButtonClick(object sender, EventArgs e)

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

【讨论】:

  • 请问为什么是负分?
  • 我没有投反对票,但动作比调用方法做得更多。它们还提供了一个中心位置来提供标题、图像和“更新”操作(例如禁用它)的方法。
  • 因此我使用了“MVC 的奇特实现” 8-) 原始帖子不清楚他想要一个替代方案有多接近 ActionManager。我假设他不知道委托和事件,并且他可以利用这些知识构建自己的 ActionManager。无论如何,谢谢你的理由。
  • 我不知道谁得分为负。看来投票制度并不完善。我喜欢你的回答,虽然它没有给我带来任何新的东西。无论如何感谢您的回答。
猜你喜欢
  • 2011-12-26
  • 1970-01-01
  • 1970-01-01
  • 2011-01-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-20
  • 1970-01-01
相关资源
最近更新 更多