Работа с треем. Добавление контекстного меню к форме на C#

{lang: 'ru'}

В этом посте речь пойдет о том, как добавить контекстное меню к иконке в трее нашего приложения на C#. Контекстное меню – это меню, которое как правило появляется при клике правой кнопкой мышки на том или ином месте или элементе управления и «помогают пользователю в заданном контексте приложения», как сказано в MSDN.

Контекстное меню для приложения на C# добавляется очень легко. Большинство элементов управления, как и сама форма, имеют свойство вида Control.ContextMenuStrip, где Control – некий элемент управления. Данное свойство позволяет привязать контекстное меню к нему. Следует отметить, что одно и то же контекстное меню может использоваться в различных местах и для различных объектов.

В MS Visual C# для того, что добавить контекстное меню к программе, достаточно «кинуть» элемент ContextMenuStrip в визуальном редакторе на форму и, как сказано выше, привязать его к нужному элементу управления. В нашем случае это notifyIcon:

Также в визуальном редакторе можно назначить нужные пункты меню, добавить к ним картинку (свойство Image), галочку, «закрасить» серым (сделать «отключенными»), создать разделитель. И, конечно же, назначить обработчик события клика по пункту меню. В примере, прилагаемом к посту контекстное меню очень небольшое и обрабатываются оба его пункта. При клике по верхнему, «демонстрационному», пункту, выводится MessageBox с текстом, что произведено нажатие. После клика по пункту «Выход», приложение завершает работу.

Поскольку принципиально работа в редакторе с контекстным меню не отличается от любой другой и код обработки событий стандартный, то дополнительный код здесь приводить не буду. Его можно изучить, заглянув в пример. И на этом данный пост завершается.


P.S.: добавлю только, этот пример также демонстрирует работу приложения без загрузки самой формы, что было описано в предыдущем посте, посвященном работе с треем.


Полезная статья? Их будет больше, если вы поддержите меня!