【发布时间】:2017-06-01 15:22:17
【问题描述】:
我有一些涉及系统计时器的代码,该计时器在将文件添加到文件夹时以秒为单位开始计数,然后在删除文件时停止。当计时器停止时显示正确的时间但是当我重新启动计时器时,它会从停止的地方开始,而不是在 0 处重新开始。这是我的代码..
t2 = new System.Timers.Timer();
t2.AutoReset = true;
t2.Interval = 1000;
t2.Elapsed += OnTimeEvent2;
watch();
}
private void OnTimeEvent2(object sender, System.Timers.ElapsedEventArgs e)
{
Invoke(new Action(() =>
{
s += 1;
lblSeconds.Text = string.Format(s.ToString());
}));
}
【问题讨论】:
-
您是否希望
s回到 0?如果是这样,那么当您停止(或启动)计时器时,您实际上将 settings设置为 0。你呢? -
这种增加计数器的方法在较长时间内会非常不准确。请改用Stopwatch 类,只需在计时器事件中使用经过的时间更新标签即可。
-
我是计时器新手,不确定如何实现秒表类。你能给我一个样品吗?
-
是的,我们的想法是将 s 设置为零