实现一个可以使用的“滴答滴答”秒表

时间:2017-01-10 18:36:46

标签: c# .net

我想要秒表功能:

  • 允许开始/停止/暂停/重置;
  • 以规定的时间间隔(通常为一秒)定期通知其经过的时间,以便我可以刷新UI高手显示器;

如果我使用System.Diagnostics.Stopwatch,我可以开始/停止/暂停/重置,我可以查询(拉)其经过的时间,但我没有“一秒钟过去”(推)事件;

如果我使用System.Timers.Timer,我可以附加到Elapsed事件,但Stop实际上不会停止计算时间,而只是停止提升Elapsed事件

问:

  • 有没有课可以给我两个?
  • 如果没有,我怎么能解决这个问题呢?我应该结合现有的课程还是自己的课程? (我不想 完成)

我正在考虑使用来自Reactive Extensions的Observable.TimerObservable.Interval,但我不知道如何停止/暂停/重置它,而且我宁愿公开IObservable<TimesTamp> IObservable<long>

(更新) 此外,还有this answer建议使用StopWatch来衡量时间,并使用快速勾选的Timer更新用户界面,但仍然感觉就像是一种解决方法。

0 个答案:

没有答案