Работа с треем. Мигание значка в трее на C#

{lang: 'ru'}

Данный пост продолжает серию статей о работе с треем. Как видно из заголовка, здесь будет рассмотрена простая и лично мне очень нравящаяся фича – мигание значка в трее. Получится что-то похожее на мигание «заметки» в QIP, сообщающее о наличии непрочитанных сообщений; или на изменение значка, антивируса Касперского, информирующее о его текущем состоянии и прочее.

Вообще, у меня есть несколько идей, как можно интересно использовать эффект мигания или просто циклической смены значков. Не для «промышленных» приложений, конечно, однако знакомые и друзья смогут оценить:) Хотя об этом наверное будет отдельный пост:)

Итак, перейдем к делу. Для создания эффекта мигания нам потребуется помимо NotifyIcon элемент управления Timer. В нем, чтобы запустить отсчет, нужно обязательно установить значение свойства Enabled в true, а свойства Interval сделать больше 0 (в этом примере оно рано 420). Теперь таймер будет генерировать событие Tick каждый 420 миллисекунд. Для того, чтобы заставить значок мигать, остается только в обработчике этого события прописать соответствующий код. (Ну и не забыть подписаться на это событие, естественно.)

Чтобы не писать одно и то же заново, я решил добавить в код программы из прошлой статьи дополнительный функционал с таймером:

И, конечно, подписка на событие при инициализации:

Теперь значок мигает. Мы на шаг ближе к собственному клону аськи:)


Вот архив с примером.


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