Получить CloseReason, когда Application.Run () вернется? - PullRequest
1 голос
/ 08 января 2010

Когда форма закрыта, она получает полезный аргумент в своем событии FormClosed, CloseReason. Однако наше приложение работает только с иконкой в ​​трее и в большинстве случаев окна не открываются. Когда он выходит, я хотел бы записать причину, по которой он вышел, в частности, знание CloseReason.WindowsShutDown и CloseReason.TaskManagerClosing было бы полезно.

Есть ли способ проверить вышеперечисленное после возврата Application.Run, в отсутствие каких-либо Form экземпляров?

1 Ответ

0 голосов
/ 08 января 2010

Нет встроенного способа сделать это, но вы всегда можете сделать свой собственный.

Возможно, проще всего было бы добавить статическое свойство в свой класс Program, где вы назначаете значение CloseReason, которое вы получаете в событии FormClosed. Это может быть прочитано в вашем коде позже.

В качестве альтернативы вы можете создать свой собственный класс, производный от ApplicationContext и обрабатывать там событие FormClosed. Это может быть более чистый подход, но он также будет более громоздким в настройке.

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