如何检查定时器是否启用/禁用

本文关键字:是否 启用 禁用 定时器 何检查 检查 | 更新日期: 2023-09-27 18:16:29

我尝试了下面的方法,但是不适合我。

if (MyTimer.Enabled)
{
    continue;
}
else 
{
    break;
}

如果定时器结束,我想打破for循环。

如何检查定时器是否启用/禁用

你可以像下面这样中断循环。当计时器时间一过,while循环就会中断。

    private static System.Timers.Timer MyTimer;
    static bool runningloop;
    public static void Main()
    {
        runningloop=true;
        MyTimer = new System.Timers.Timer();
        MyTimer.Interval = 2000;
        MyTimer.Elapsed += OnTimedEvent;
        MyTimer.Enabled = true;
        // If the timer is declared in a long-running method, use KeepAlive to prevent garbage collection
        // from occurring before the method ends. 
        //GC.KeepAlive(MyTimer) 
        while(runningloop)
        {
          //do your work here
        }
    }
    private static void OnTimedEvent(Object source, System.Timers.ElapsedEventArgs e)
    {
        runningloop=false;
    }

参考这里