如何立即触发timer.Elapsed事件

2024-04-04

我正在使用System.Timers.Timer类来创建一个计时器Timer.Elapsed事件。事情是Timer.Elapsed仅在间隔时间过去后才会首次触发事件。

有没有办法提高Timer.Elapsed启动计时器后立即发生事件?

我在中找不到任何相关属性System.Timers.Timer http://msdn.microsoft.com/en-us/library/system.timers.timer.aspx class.


只需致电Timer_Tick自己方法。


如果您不想处理 Tick 回调方法的参数,则只需将代码放入您的Timer_Tick进入另一个方法,并从 Timer_Tick 和紧随其后调用该方法Timer.Start() call


正如@Yahia 所指出的,您还可以使用System.Threading.Timer http://msdn.microsoft.com/en-us/library/system.threading.timer.aspx计时器,您可以将其初始延迟设置为 0。但请注意,回调将在不同的线程上运行,而不是在Windows.Forms.Timer它在 UI 线程上运行。因此,如果您使用更新任何 UI 控件System.Threading.Timer http://msdn.microsoft.com/en-us/library/system.threading.timer.aspx(如果没有正确调用)它会崩溃。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何立即触发timer.Elapsed事件 的相关文章

随机推荐