Почему мое приложение notifyicon не закрывается при использовании Application.Exit () или Form.Close ()? - PullRequest
3 голосов
/ 26 августа 2010

У меня есть приложение Windows form, которое выходит в системный трей Notifyicon, и я попытался вызвать Application.Exit () или Me.Close (), чтобы закрыть программу. Но ни один не работает, чтобы закрыть программу. Как правильно его закрыть?

1 Ответ

4 голосов
/ 26 августа 2010

«Рекомендуется сделать значок в системном трее невидимым перед завершением« приложения », в противном случае он может задержаться в трее, когда приложение« больше не работает ».

Этот бит относится к области уведомлений (системный трей), которая на самом деле не опрашивает, чтобы убедиться, что маркеры, соответствующие значкам, все еще находятся вокруг. Поэтому, если что-то не выходит изящно или иначе не очищает его значок уведомления, то область уведомлений не понимает, что этот дескриптор окна вылетел из курятника.

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

Но после закрытия программы значок в трее все еще отображается и все функции доступны. Мне кажется, что программа все еще работает.

Да, мне кажется, ваше приложение все еще работает. Обратите внимание, что Application.Exit() не обязательно должен быть успешным - существует перегрузка, которая позволяет другим частям приложения отменить запрос. Так что это что-то проверить.

Значок уведомления на самом деле не будет поддерживать ваше приложение "живым", так как оно не имеет как бы подкачки сообщений. Что-то в вашем приложении не выходит.

Надеюсь, это поможет вам встать на правильный путь!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...