проверить, был ли BalloonTooltip закрыт пользователем - PullRequest
9 голосов
/ 16 мая 2011

как я могу проверить, был ли BalloonTip, прикрепленный к NotifyIcon, закрыт пользователем, нажав значок «Закрыть», или он исчез после истечения времени ожидания? Похоже, что BalloonTipClosed запускается в обоих случаях, а BaloonTipClicked запускается, когда пользователь щелкает в любом месте появляющейся подсказки ...

1 Ответ

1 голос
/ 16 мая 2011

Я не думаю, что возможно определить нажатие кнопки закрытия над всплывающей подсказкой.

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

Как прокомментировано ниже этот блог объясняет, почему нажатие кнопки закрытияне вызывает отдельное событие.

Однако в этом блоге есть комментарий, в котором говорится, что в Windows XP NIN_BALLOONTIMEOUT отправляется, когда пользователь нажимает кнопку закрытия.Было бы против лучшей практики полагаться на причуды, подобные этой, для запуска вашей программы.

Не могли бы вы реализовать свой собственный таймер, который будет закрывать подсказку по окончании?Убедитесь, что вы установили подсказку для отображения дольше, чем таймер.Затем вы можете определить, работает ли таймер, когда всплывающее окно закрыто, если нет, то время ожидания закрыло всплывающее окно, в противном случае это сделал пользователь.

...