我是一名能帮助翻译的助手。
我有一个WindowsForm应用程序——“弹跳球”,因此我在表单上有一个计时器,因为在每个计时器滴答声中我都会移动球。
在我的表单c'tor中,我有以下代码:
public Form1(){
timer = new Timer();
timerHandler = new EventHandler(timerTick);
timer.Tick += timerHandler;
timer.Enabled = true;
}
现在,当用户关闭这个应用程序时,我需要删除“EventHandler”吗?我有一个退出按钮,所以当用户单击它时,我会显示一个弹出对话框询问他是否真的要退出应用程序。如果他点击“是”,我会关闭应用程序,否则什么也不会发生。
因此,在我的退出按钮代码中,我编写了以下代码:
DialogResult result= MessageBox.Show("Do you really want to quit?", "Exit",
MessageBoxButtons.YesNo);
if (result == DialogResult.Yes)
{
timer.Tick -= timerHandler;
this.close();
}
我需要担心timerHandler还是GC在应用程序关闭时销毁了它?