Dan*_*986 2 c# wpf dispatchertimer
(使用WPF)
在我写的一个小应用程序中,我使用了一些倒计时器.为此,我使用了DispatcherTimer.
counter01 = new DispatcherTimer();
counter01.Tick += new EventHandler(counter01_Tick);
counter01.Interval = new TimeSpan(0, 0, 1);
Run Code Online (Sandbox Code Playgroud)
但是现在当我测试/使用该程序时,我注意到当它被设置为(例如)60分钟倒计时时,与现实世界时间相比,它会缩短几分钟.
可能是因为某些原因,DispatcherTimer如果我像上面那样使用它,并不总是1秒钟?
像这样的计时器永远不会完全准确.毕竟,它必须在调度程序线程上运行 - 如果调度程序正忙于同时处理其他某个线程,您会发生什么?
这很可能是足够接近是明显的以约每秒一次滴答作响-你应该只取当前时间和减去从"目标"时间(或使用Stopwatch),以获得一个相当精确的倒计时,而不是仅仅计数计时器勾选的次数.
| 归档时间: |
|
| 查看次数: |
2375 次 |
| 最近记录: |