在Timer.Tick

时间:2015-05-20 11:20:40

标签: c# timer .net-4.5

我在myTimer.Stop();方法的中间调用myTimer_Tick。在提出这个问题之前,我读到了这个问题:Stop timer in the middle of the tick;但我的问题是不同的东西:

我认为如果调用myTimer.Stop()myTimer.Enable = false,Tick方法将运行到最后,但不会成为下一个Tick。事实上,我不想立即停止Tick方法并返回。

我说错了吗?

编辑: 我试着在一个例子中展示我想要的东西:

void mytimer_Tick(object sender, EventArgs e)
{
    someWorks1;
    myTimer.Stop();
    someWorks2;
}

我也希望最后一次运行someWorks2

1 个答案:

答案 0 :(得分:2)

  

我认为如果致电myTimer.Stop()myTimer.Enable = falseTick方法将会运行到最后,但不会成为下一个Tick。

正确。停止计时器将终止执行回调函数的线程。您的Tick方法将继续运行,直到它返回。

您可以轻松编写示例来证明这一点。