停止C#计时器并执行回调

停止C#计时器并执行回调,c#,C#,我开始使用C#系统.线程.计时器类。当计时器已经启动并且我在执行我的TimeCalbCub的中间时,当我使用“代码> MyTime.change(TimeOut.Field. 0)./P>停止计时器时会发生什么情况? 我的回调完成执行还是立即中止 如果没有中止,有一种方法可以执行类似于线程的操作。中止可以立即终止要执行的代码?如果回调没有中止,它将完成执行。 如果要停止执行,只需从函数返回即可。我建议使用System.Timers.Timer,您必须在回调函数中检查计时器的Enabled属性以停

我开始使用C#
系统.线程.计时器
类。当计时器已经启动并且我在执行我的TimeCalbCub的中间时,当我使用“代码> MyTime.change(TimeOut.Field. 0)./P>停止计时器时会发生什么情况? 我的回调完成执行还是立即中止


如果没有中止,有一种方法可以执行类似于
线程的操作。中止
可以立即终止要执行的代码?

如果回调没有中止,它将完成执行。
如果要停止执行,只需从函数返回
即可。

我建议使用
System.Timers.Timer
,您必须在回调函数中检查计时器的Enabled属性以停止执行

例如:

using System.Timers;
创建新的计时器对象:

Timer timerObject = new Timer();
timerObject.Interval = 1000;
timerObject.Start();
timerObject.Elapsed += new ElapsedEventHandler(timerObject_Elapsed);
如果handlign功能检查是否已启用:

void timerObject_Elapsed(object sender, ElapsedEventArgs e)
{
    Timer timerObject = (Timer)sender;
    if (!timerObject.Enabled) return;
    while(true)
    {
        DoSomething.....
        if (!timerObject.Enabled) return;
    }
}

非常感谢你的帮助!非常感谢你!这有帮助!