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

C# 如何检查定时器是否启用/禁用?,c#,if-statement,timer,C#,If Statement,Timer,我试过下面的方法,但对我无效 if (MyTimer.Enabled) { continue; } else { break; } 如果计时器结束,我想为循环中断。您可以按照下面的说明中断循环。计时器时间一过,while循环就会中断 private static System.Timers.Timer MyTimer; static bool runningloop; public static void Main() { ru

我试过下面的方法,但对我无效

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

如果计时器结束,我想为循环中断

您可以按照下面的说明中断循环。计时器时间一过,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;
    }

参考

什么是
MyTimer
BTW?您是否将Enabled设置为true?此属性与计时器是否正在运行无关。MSDN表示“获取或设置一个值,该值指示计时器是否应引发已过事件。”默认值为false我认为
MyTimer
System.Timers.Timer
,您可以使用
OnTimedEvent
,它在计时器已过时触发。详细说明您试图实现什么