如何重置一个dispatcherTimer?

4

如何重置dispatcherTimer?

在我的应用程序中,我启动了一个计时器,并稍后使用dispatcherTimer.Stop方法停止计时器。我关闭应用程序并再次运行它,计时器不会从零开始。如何设置计时器以重置并从零开始?


对于任何想要解决这个问题的人:https://dev59.com/2E_Sa4cB1Zd3GeqP_U_H - Hans Passant
由于没有DispatcherTimer的tick计数,你说的计时器不从零开始是什么意思? - jyoung
3个回答

3
这将重置一个DispatcherTimer。
timer.Stop();
timer.Interval = new TimeSpan(0, 0, 0, 1);  // 1sec
timer.Start();

3

看起来你所称之为“计时器计数”的是:

string etime = DateTime.Now.Second.ToString(); 

由于 DateTime.Now 基于计算机的实时时钟,因此根据程序启动的时间不同,秒数值也会不同。

您需要:

starttime = DateTime.Now;
dispatcherTimer.Start(); 

并且:

string etime = (DateTime.Now - startTime).Seconds.ToString(); 

我的意思是,或者我可能对这个dispatchertimer的概念理解有误,就是我启动一个计时器(这个计时器从零开始吗?),然后当我停止它时,我想重置该计时器以备将来使用。 - internetmw

1

计时器会倒计时。我所知道的所有软件计时器都是这样。你给它一个指定的时间,它就开始倒计时,当它达到零时触发一个事件。

如果你想要“测量”经过的时间,那么你可以使用像StopWatch这样的工具,它会向上计时。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接