【发布时间】:2016-04-15 05:43:14
【问题描述】:
我正在做一个 winform 应用程序,但计时器无法正常工作。第一次有效,然后,它没有。 代码如下:
public void GetNewTurn(Turn turn)
{
_tmrStarTime = DateTime.Now;
timer1.Start();
timer1.Tick += tmr1_Tick;
}
private void tmr1_Tick(object sender, EventArgs e)
{
//timer code here
timer.stop();
}
所以,这个想法是: GetNewTurn 是一个从另一个地方调用的函数。我第一次调用它,工作正常,然后没有。我在 tmr1_Tick 中放了一个断点,我可以看到它第一次就可以工作,然后就不行了。 在 Timer 属性中,我设置 Enable = True。 我做错了什么? 谢谢!
【问题讨论】:
-
看来您在第一次滴答之后停止计时器......所以我希望它只运行一次。
-
嗯..你正在阻止它。那么为什么停止后它会继续运行呢?如果您希望它继续运行,请删除您的
timer.stop();。 -
从我上面看到的代码中,我建议你使用一个可以独立触发和独立停止的进程,并且每次调用GetNewTurn方法时都可以创建多个进程
-
@Icemanind 我在 2 秒后停止它,然后,当再次调用 GetNewTurn 函数时,它应该再次启动..