我正在使用一个计时器来周期性地运行一个事件(间隔为2分钟),这个已经正常工作。但是我希望在计时器创建时立即触发事件,而不是等待2分钟。
请注意,我不能通过调用方法来实现这一点,因为它需要一些时间才能运行,并且会阻塞应用程序。我需要计时器像平常一样触发并在单独的线程中运行事件。
目前我能想到的最好的方法是子类化计时器并创建一个TriggerManually
方法,该方法会执行以下操作:
- 关闭自动重置
- 将间隔设置为1毫秒
- 启用计时器
这将立即触发过去的事件,然后我可以将所有设置恢复为正常状态。
虽然这似乎有点绕,但有更好的方法吗?
public void Start(bool withAutoStart) { if (withAutoStart) { AutoStart = true; } Start(); }
- Jez