Объединение ToolstripButtons и ToolstripMenuItems

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

1 ответ

Решение

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

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

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

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

Другие вопросы по тегам