2

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

模式#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(这将我的想法带到了 90 年代的 Java 操作侦听器模式)。作为 Ribbon Reals 的新手,我仍然希望知道其他程序员会在这个主题上提出什​​么建议。

4

1 回答 1

0

这取决于触发事件时控件应该做什么。如果控件必须执行类似的操作,或者您可以概括它们的操作,那么最好使用模式 1,但通常最好使用模式 2,因为您的代码将更容易理解,即使您的事件也能正常工作更改这些 ID 的值。

于 2012-10-05T13:23:31.927 回答