Объединение ToolstripButtons и ToolstripMenuItems - PullRequest
1 голос
/ 15 апреля 2010

Почти во всех случаях ToolStripItems делает то, что делает их эквивалент MenuStripItem.В этих случаях ToolTip, icon и text этих двух команд совпадают.Итак, есть ли какой-либо способ (предпочтительно собственный способ .NET) для синхронизации и объединения этих двух элементов?Это может быть способ определить команды где-то еще и просто поместить их в различные полосы.

1 Ответ

2 голосов
/ 27 января 2012

Вам следует взглянуть на шаблон команды , который позволит вам инкапсулировать логику, которую вы хотите вызвать как из ToolStripButton, так и MenuStripItem.

Этот пост Stackoverflow содержит несколько примеров реализации шаблона команд в .net, а этот ответ , который я предоставил, показывает, как обеспечить общий способ привязки команд к кнопкам (это очень легко адаптируется для работы с другими элементами управления, такими как ToolStripItem).

Существует интерфейс ICommand для использования с WPF, но нет никаких причин, по которым вы не можете использовать его в приложении Windows Forms.

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

...