私はWindowsFormアプリケーション「バウンスボール」を持っているので、各ティックでボールを動かすため、フォームのタイマーがあります。
私のフォーム c'tor には、次のコードがあります。
public Form1(){
timer = new Timer();
timerHandler = new EventHandler(timerTick);
timer.Tick += timerHandler;
timer.Enabled = true;
}
ユーザーがこのアプリケーションを閉じるときに、「EventHandler」を削除する必要がありますか? 終了ボタンがあるので、ユーザーがそれをクリックすると、アプリケーションを本当に終了するかどうかを尋ねるポップアップ ダイアログが表示されます。彼が [はい] をクリックした場合、私はアプリケーションを閉じます。それ以外の場合は何も起こりません。
だから私のExit Buttonコードで私はこのコードを書いた:
DialogResult result= MessageBox.Show("Do you really want to quit?", "Exit",
MessageBoxButtons.YesNo);
if (result == DialogResult.Yes)
{
timer.Tick -= timerHandler;
this.close();
}
アプリケーションが閉じたときに timerHandler または GC が彼を破壊したことを心配する必要がありますか?