几乎在所有情况下,ToolStripItems
都会执行等效的MenuStripItem
。在这些情况下,这两个命令的ToolTip
,icon
和text
是相同的。那么,有没有办法(最好是.NET本地方式)来同步和统一这两个项目?这可能是一种在其他地方定义命令的方法,只需将它们放入各种条带中即可。
答案 0 :(得分:2)
您应该查看command pattern,这样您就可以封装要从ToolStripButton
和MenuStripItem
调用的逻辑。
This Stackoverflow文章提供了在.net和this中实现命令模式的一些示例。我提供的答案显示了如何提供将命令绑定到按钮的通用方法(这可以非常容易地适应使用其他控件,例如ToolStripItem
)。
有一个ICommand
接口可用于WPF,但没有理由不能在Windows窗体应用程序中使用它。
最后,如果你想为命令提供其他常见属性,比如命令文本或图像,我建议从ICommand
接口派生一个新接口(对于eaxample,称为IUICommand
),提供这些属性。加强链接中显示的CommandBinding
类,以便在ToolStripItem
中设置相应的属性不会花费太多精力。