У меня есть приложение, которое использует NotifyIcon в трее, чтобы скрыть / восстановить приложение, а также всплывающие уведомления для пользователя о событиях приложения. У моего приложения есть очередь уведомлений, и я использую событие NotificationIcon.BalloonTipClosed, чтобы определить, когда нужно сбросить всплывающее окно и показать следующее уведомление (если оно есть в очереди).
Похоже, что этот метод отлично работает как по обычным причинам (пользователь позволяет всплывающей подсказке закрыться, когда он истекает, и пользователь нажимает «X» в всплывающей подсказке, чтобы заставить его закрыться), но есть третий случай, когда BalloonTipClosed не позвонить:
- Всплывающее окно с уведомлением
- Пока он виден, пользователь щелкает правой кнопкой мыши значок уведомления, чтобы вызвать контекстное меню, в результате чего всплывающее окно исчезает
Событие BalloonTipClosed не запускается в этом случае - я полагаю, что это ошибка в фреймворке (я использую 2.0), но есть ли у кого-нибудь идеи по этому поводу? Если я не получаю это событие, мое приложение всегда думает, что есть видимый воздушный шар (у меня есть логическое значение, которое не позволяет ему отображать несколько воздушных шаров одновременно), и он никогда не будет отображать другой значок, пока он работает.