Вам следует взглянуть на шаблон команды , который позволит вам инкапсулировать логику, которую вы хотите вызвать как из ToolStripButton
, так и MenuStripItem
.
Этот пост Stackoverflow содержит несколько примеров реализации шаблона команд в .net, а этот ответ , который я предоставил, показывает, как обеспечить общий способ привязки команд к кнопкам (это очень легко адаптируется для работы с другими элементами управления, такими как ToolStripItem
).
Существует интерфейс ICommand
для использования с WPF, но нет никаких причин, по которым вы не можете использовать его в приложении Windows Forms.
Наконец, если вы хотите предоставить другие общие свойства для команды, такие как текст команды или изображение, я бы предложил получить новый интерфейс из интерфейса ICommand
(например, под названием IUICommand
), который предоставляет эти свойства. Не нужно много усилий, чтобы улучшить класс CommandBinding
, показанный в ссылке, чтобы установить соответствующие свойства в ToolStripItem
.