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