DOBON.NET DOBON.NETプログラミング掲示板過去ログ

フォーム終了時にテキストボックスの内容を取得したい

環境/言語:[OS : Windows XP Professional / 言語 : C# / .NET Framework : 2.0]
分類:[.NET]

【解決したい問題】

お世話になります。C# 2005での質問です。

どぼんさんの下記Tipsを参考にフォーム終了時にテキストボックスの内容を出力させたいと思っています。
http://dobon.net/vb/dotnet/programing/applicationstart.html

 private void Form1_Load(object sender, EventArgs e)
 {
  Application.ApplicationExit += new EventHandler(Application_ApplicationExit);
 }

 private void Application_ApplicationExit(object sender, EventArgs e)
 {
  string getText = textBox1.Text;
  MessageBox.Show(getText);

  Application.ApplicationExit -= new EventHandler(Application_ApplicationExit);
 }

しかし上記の方法ではテキストボックスの内容を取得できませんでした(空白になってしまいます)。
どのようにすれば内容を取得できますか?

試しにテキストボックスではなくチェックボックスにしたらCheckStateは取得できました。文字列の取得方法に問題があるのでしょうか?

お手数ですがよろしくお願いします。
ApplicationExit はアプリケーションの終了時に発生するイベントですから、当然その時点ですべての Form は閉じられ、それに乗っているコントロールも破棄されていると考えられます。値が取れたのはたまたまそのコントロールがそういう構造になってただけに過ぎません。
閉じられる直前に発生するイベントである FormClosing イベントを使うのが良いでしょう。
Hongliangさんありがとうございます。
FormClosingイベントでうまく終了前に値を取得できました。
どうも私が参考にしていたのは.Net1.0の場合だったのですね。たいへん助かりました。
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板