设计模式的`onAction`为功能区上的按钮

时间:2012-10-05 11:34:45

标签: c# event-handling ribbon

我的功能区上有一些按钮(目前它只是一个分割按钮和属于它的菜单上的几个按钮)。因此,我可以为动作处理程序选择两种不同的设计模式。

模式#1(常用方法)

<button id="Beep" onAction="DoStuff" />
<button id="Boop" onAction="DoStuff" />

public void DoStuff(Office.IRibbonControl control)
{
  if (control.Id == "Beep") { ... }
  if (control.Id == "Boop") { ... }
}

模式#2(单独的方法)

<button id="Beep" onAction="DoBeep" />
<button id="Boop" onAction="DoBoop" />

public void DoBeep(Office.IRibbonControl control) { ... }
public void DoBoop(Office.IRibbonControl control) { ... }

我会使用模式#2(除非处理非常小的调用或真正的模式化操作)但是在我看来很多文章都提倡模式#1(这会将我的想法带到Java动作聆听者啪嗒啪嗒啪嗒啪嗒作为Ribbon reals的新手,我仍然更愿意了解其他程序员对此主题的建议。

1 个答案:

答案 0 :(得分:0)

这取决于你的控件在触发事件时应该做什么。如果控件必须执行类似的操作,或者你可以概括他们的操作,那么最好使用模式1,但一般来说最好使用模式2,因为你的代码将更容易理解,即使你的事件你的事件也会很好用更改这些ID的值。