Application.ApplicationExitイベントは、アプリケーションが終了する時に発生するイベント。
Application.ApplicationExit Event (System.Windows.Forms) | Microsoft Docs
Windowsアプリケーションで、
Buttonを、
このように配置。
ダブルクリックでbutton1のイベントハンドラを書く。
Application.Exitでアプリを終了。
Program.csに、
using System; using System.Collections.Generic; using System.IO; // ファイル入出力とデータストリーム(System.IO名前空間) using System.Windows.Forms; namespace Application_ { static class Program { /// <summary> /// アプリケーションのメイン エントリ ポイントです。 /// </summary> [STAThread] static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.ApplicationExit += new EventHandler(OnApplicationExit); // Application.ApplicationExitにOnApplicationExitをセット. Application.Run(new Form1()); } // アプリケーションが終了する時のイベントハンドラ. static void OnApplicationExit(object sender, EventArgs e) { // メッセージボックスを表示. MessageBox.Show("OnApplicationExit"); // "OnApplicationExit"を表示. } } }
Application.ApplicationExitイベントに、アプリケーションが終了する時のイベントハンドラOnApplicationExitを追加。
メッセージボックスを表示。
ここにブレークポイントを仕掛けておく。
button1を押すと、
ブレークポイントに来ている。
ただし、
メッセージボックスは表示されない。
終了処理をメッセージボックスのようなものでブロックして止めることはできないようである。
そこで、
終了時にファイルの書き込みをしてみる。
まあログのようなもので、終了処理したことの証拠である。
起動したらbutton1を押し、
アプリケーションを終了させる。
test.txtが作られて、
"ABC"が書き込まれる。
終了処理自体はできている。
Sample/dotnet/Application/ApplicationExit/src/Application_ at master · bg1bgst333/Sample · GitHub