如何停止 Winforms 计时器触发 Tick 事件?
这是我的代码:
Timer tm = new Timer();
private void button1_Click(object sender, EventArgs e)
{
tm = new Timer();
tm.Interval = 1000;
tm.Tick += new EventHandler(tm_Tick);
tm.Start();
}
void tm_Tick(object sender, EventArgs e)
{
MessageBox.Show("hi");
tm.Stop();
}
Run Code Online (Sandbox Code Playgroud)
我不确定你要做什么。您是否试图让滴答事件处理程序只执行一次?如果是这种情况,您当前的设置只会在第一个消息框关闭时停止计时器触发滴答事件。为避免此问题,请在 tm_Tick 方法中切换两行。
此外,您不应在单击处理程序中设置 Timer。你应该只启动它。我建议你做一些这样的事情:
Timer tm;
private void form1_Load(object sender, EventArgs e)
{
tm = new Timer();
tm.Interval = 1000;
tm.Tick += new EventHandler(tm_Tick);
}
private void button1_Click(object sender, EventArgs e)
{
tm.Start();
}
void tm_Tick(object sender, EventArgs e)
{
tm.Stop();
MessageBox.Show("hi");
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5725 次 |
| 最近记录: |