Вообще, у меня есть несколько идей, как можно интересно использовать эффект мигания или просто циклической смены значков. Не для «промышленных» приложений, конечно, однако знакомые и друзья смогут оценить:) Хотя об этом наверное будет отдельный пост:)
Итак, перейдем к делу. Для создания эффекта мигания нам потребуется помимо NotifyIcon элемент управления Timer. В нем, чтобы запустить отсчет, нужно обязательно установить значение свойства Enabled в true, а свойства Interval сделать больше 0 (в этом примере оно рано 420). Теперь таймер будет генерировать событие Tick каждый 420 миллисекунд. Для того, чтобы заставить значок мигать, остается только в обработчике этого события прописать соответствующий код. (Ну и не забыть подписаться на это событие, естественно.)
/// флаг для организации мигания
///
private bool _forBlinking = false;
///
/// обрабатываем тик
///
void _timer_Tick(object sender, EventArgs e)
{
//по флагу определяем, какой значок следует сейчас поставить
if (_forBlinking)
{
_notifyIcon.Icon = _myEmptyIcon;
_forBlinking = false;
}
else
{
_notifyIcon.Icon = _myIcon;
_forBlinking = true;
}
}
///
/// наша иконка
///
private Icon _myIcon = new Icon("favicon.ico");
///
/// "пустая" иконка
///
private Icon _myEmptyIcon = new Icon("emptyicon.ico");
И, конечно, подписка на событие при инициализации:
//подписываемся на событие тика таймера
_timer.Tick += new EventHandler(_timer_Tick);