我有一个问题,应该在不触发分钟计时器事件的情况下将其设置为500毫秒,但正如我在logg中所看到的那样,这无法按预期进行。我希望代码在等待0.5秒后执行,然后再次开始执行!
public void initilize_Rfid()
{
_timerComm = new System.Timers.Timer(500);
_timerComm.Elapsed += CommTimerEvent;
_timerComm.Enabled = true;
}
private void CommTimerEvent(object source, ElapsedEventArgs e)
{
try
{
_timerComm.Enabled = false;
Logg("Inside CommTimerEvent " + _name);
//TALKING TO A SERIALPORT AND DETERMENATING IF TO CONTINUE WITH THE TIMER
if ((_continueTimer)
{
_timerComm.Enabled = true;
Logg("Re-activating timer " + _name);
}
}
catch (Exception ex) { Logg(ex.ToString()); }
}
我可以看到文本“ Inisde ComTimerEvent TEST1”,然后大约0.8秒后,我得到了“重新激活计时器TEST1”。一切都很好。但是在此之后,我将延迟最多3秒钟,直到定时器再次触发...我可以以某种方式防止这种情况发生吗?
相反,您可以使用DispatcherTimer。以下代码将帮助您每5秒触发一次方法。
DispatcherTimer LabelTimer = new DispatcherTimer();
LabelTimer.Interval = TimeSpan.FromSeconds(5);
LabelTimer.Tick += new EventHandler(TaskTimer_Tick_THROW);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句