gpt4 book ai didi

c# - 如何立即触发 timer.Elapsed 事件

转载 作者:IT王子 更新时间:2023-10-29 03:49:28 24 4
gpt4 key购买 nike

我正在使用 System.Timers.Timer 类创建一个带有 Timer.Elapsed 事件的计时器。问题是 Timer.Elapsed 事件仅在间隔时间过去后才第一次触发。

有没有办法在启动计时器后立即引发 Timer.Elapsed 事件?

我在 System.Timers.Timer 中找不到任何相关属性类。

最佳答案

只需自己调用Timer_Tick 方法即可。


如果您不想处理 Tick 回调方法的参数,那么只需将您的 Timer_Tick 中的代码放入另一个方法中,然后从 Timer_Tick 和紧接在Timer.Start() 调用


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

关于c# - 如何立即触发 timer.Elapsed 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6924072/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com