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
,它在计时器已过时触发。详细说明您试图实现什么