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

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

 AppDomain.CurrentDomain.ProcessExit += new EventHandler(CurrentDomain_ProcessExit);  

или

  Application.ApplicationExit += new EventHandler(this.OnApplicationExit); 

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

Ответ 1

В файле Program.cs вы должны иметь эти методы до 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).