我这里有个小问题。现在我正在使用这个在应用程序开始时启动一个计时器:
if (Initialized == 0)
{
errorCheckTimer.Elapsed += (sender, e) => OnErrorCheckTimerElapsed(sender, e);
Initialized = 1;
}
它确保它只启动一次。如果我多次执行此行,计时器将触发多次且一次。
现在在初始化计时器之后,我偶尔会使用以下命令运行它:
errorCheckTimer.Interval = ErrorTimerInterval;
errorCheckTimer.Enabled = true;
errorCheckTimer.Start();
在某些动作发生后,我停止它:
tradeErrorTimer.Enabled = false;
tradeErrorTimer.Stop();
但是发生了一些不为人知的故障。定时器在第一次初始化时总是工作,但有时根本不会打开,并且 OnErrorCheckTimerElapsed 不会被执行。
因此,为了使其更加可靠,我可以删除已添加到 OnErrorCheckTimerElapsed.Elapsed 中的计时器以在每次需要启动它时初始化一个新计时器吗?
如果我尝试多次初始化它们,我会一次多次触发 OnErrorCheckTimerElapsed。
谢谢你。