Вопрос по c# – Захват события выхода из приложения - WinForms

11

Возможно ли захватить событие закрытия формы Windows при нажатии на остановку приложения. Я знаю, что приложение перестало работать, но есть ли какой-нибудь метод, который будет запускаться при закрытии приложения? Я нашел эти методы от Google, но они не работают:

<code> AppDomain.CurrentDomain.ProcessExit += new EventHandler(CurrentDomain_ProcessExit);  
</code>

или же

<code>  Application.ApplicationExit += new EventHandler(this.OnApplicationExit); 
</code>

Можно ли получить событие закрытия при нажатии на кнопку остановки приложения?

что вы подразумеваете под asp.net windows-формами? ASP.Net работает на WinForms? Anuraj
Вы имеете в виду закрытие браузера? Вам необходимо проверить метод JavaScript onUnload () или метод onbeforeunload (). Anuraj
.NET имеет WinForms, в то время как ASP.NET имеет WebForms Babu James
Посмотрим, правильно ли я понял. A.) Ваша программа аварийно завершает работу или не отвечает, поэтому вы должны закрыть ее с помощью диспетчера задач или чего-то еще, и вы все еще хотите, чтобы событие сработало до его закрытия. Это правильно. Или Б.) Вы просто хотите, чтобы событие запускалось, когда программа нормально завершается? Что именно означает кнопка остановки приложения? General Grey

Ваш Ответ

1   ответ
18

before Application.Run:

    [STAThread]
    static void Main()
    {
        Application.EnableVisualStyles();
        Application.SetCompatibleTextRenderingDefault(false);
        Application.ApplicationExit += new EventHandler(Application_ApplicationExit);
        AppDomain.CurrentDomain.ProcessExit += new EventHandler(CurrentDomain_ProcessExit);
        Application.Run(new MainForm());
    }

Вы также можете использовать событие Disposed в MainForm (форма, используемая в методе Application.Run).

Похожие вопросы