我只想在主窗体初始化后的 1 秒使用一次计时器。 我以为下面的消息框只会显示一次“Hello World”,但实际上每隔一秒就会有一个新的消息框显示“Hello World”。
为什么会这样?我已将 t.Stop()
放入 tick 事件中。
另外,我是否需要以某种方式处理计时器以避免内存泄漏?
Timer t = new Timer();
t.Interval = 1000;
t.Tick += delegate(System.Object o, System.EventArgs e)
{ MessageBox.Show("Hello World"); t.Stop(); };
t.Start();
请帮助并展示是否有更好的方法? 谢谢。
最佳答案
替换 MessageBox.Show("Hello World"); t.Stop();
与 t.Stop();MessageBox.Show("Hello World");
。因为您没有及时按下 OK,计时器已经再次开始计时,而您从未到达停止代码。
关于c# - 只使用一次定时器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2841177/