启动后立即执行计时器

本文关键字:执行 计时器 启动 | 更新日期: 2023-09-27 18:19:47

我有一个间隔为3600000的计时器,可以转换为一个小时,所以当我进行时

timer.Start()

它将从下一小时开始,每小时执行以下代码

private void timer_Tick(object sender, EventArgs e)
{
    .....
}

但如果我希望它也在第二次调用计时器时执行呢。开始(),然后每隔一小时?

启动后立即执行计时器

最简单的选择是只调用方法:

timer.Start();
timer_Tick(null, EventArgs.Empty); // Simulate a timer tick event

这实际上不会触发计时器,但会立即调用处理程序,有效地模拟"现在"事件。

据我所知,System.Threading.Timer正是您想要的。

它允许您指定第一次调用必须发生的时间,然后指定调用之间的间隔。

因此,如果将第一次调用设置为0毫秒,将间隔设置为一小时,它将立即启动,然后每小时启动一次。

dueTime类型:System.Int32回调前要延迟的时间量被调用,以毫秒为单位。指定Timeout.Infinite以防止计时器启动。指定零(0)可立即启动计时器。

period类型:System.Int32调用之间的时间间隔回调,以毫秒为单位。指定Timeout.Infinite以禁用周期性信令。

我只想在您调用Start()后立即手动调用该函数。