2011-01-25 8 views
1

フォームが閉じたときにいくつかのクリーンアップを試みています。私は、次のシグネチャフォームcloseイベントin C#

private void BatchGui_Closing(object sender, FormClosingEventArgs e) 

問題は、私はそこにブレークポイントを置いた場合、コードが実行されることはありません、ですので、どのように私はきちんと形に近いイベントのための方法を記述しないを使用していますか?

おかげ

答えて

4

イベントがFormClosingと呼ばれている:

private void Form1_FormClosing(object sender, FormClosingEventArgs e) 
{ 

} 

あなたはデザイナーに添付イベントを確認してください。メソッドを追加するだけでは不十分です!

+0

今回私はコード内でイベントを追加していますが、今はデザイナーのビューに向いています.Dはすべてダムです!ありがとう;) – tom

+1

またはあなたは誓いの代わりに答えを投票することができます... ;-) –

1

私はあなたがフォームClosingイベントに、このメソッドをリンクしていると思いますか?リサイズで

myForm.FormClosing += BatchGui_Closing; 
+0

「FormClosingEventArgs」を使用しているため、「FormClosing」イベントになります。 –

+0

@Jeff - もちろん正しいです。私は今私の答えを更新しました。ありがとう。 –

4

イベントハンドラを設定するのを忘れてしまいました。プロパティウィンドウのLightningアイコンをクリックします。

最も一般的なことは、フォームのOnXxxメソッドをオーバーライドすることです。独自のクラスオブジェクトのイベントをリッスンするイベントは必要ありません。

protected override 

と入力して、OnFormClosingを選択できるようにIntelliSenseウィンドウがポップアップします。その後、次のようになります。

protected override void OnFormClosing(FormClosingEventArgs e) { 
     // insert your code here 
     // ... 
     base.OnFormClosing(e); 
    }