我正在C#中进行小型打字测试,其中程序要求您输入一个单词,然后显示您的时间。 我正在使用c#timer类(从工具箱中拖拽一个定时器),它的Tick时间为1ms,但它没有给我准确的结果,所以我用StopWatch代替它,所以现在的时间是超级的准确,但问题在于,您似乎无法将事件处理程序分配给StopWatch,因此尽管我可以向用户显示完成该单词的时间,但我无法在打字时显示嗡嗡声。 想法?C#高精度时序
C#高精度时序
回答
使用另一个计时器,每隔10秒左右触发事件并轮询秒表值。它不会像秒表一样准确,因为它会有滞后,但人类不会比十秒钟更快地做出反应。
使用秒表精确测量时间;并使用定时器定期触发UI更新,并显示StopWatch测量的时间。对于用户界面,您不需要1毫秒的分辨率(屏幕更新时间可能会大于1毫秒,并且人眼无法感知更快的更新)。
尝试更新每个40 - 100毫秒,我认为这将是足够的。
使用System.Timers.Stopwatch
类,并通过检查字段IsHighResolution
(System.Timers.Stopwatch.IsHighResolution == true
)检查是否有高分辨率。
然后,无论何时您需要触发某种东西,可以通过另一个定时器以尽可能最小的时间间隔触发它,它会检查Stopwatch
的值。虽然这不会是完美的(你甚至不需要接近完美),但它会起作用。
你不需要与真正的明确比较,因为该属性已经是一个布尔值... – Joey
谢谢,对我来说工作得够好 – 7VoltCrayon
- 1. C#高双精度
- 2. C#高精度计算
- 3. 高精度鼠标事件的高精度计时
- 4. Numpy高精度
- 5. 高精度定时器对象超时
- 6. 输出精度高于双精度
- 7. 测试精度高于训练精度
- 8. C++:高精度随机双号
- 9. Python:高精度time.sleep
- 10. 如何在C/C++中高效地计算双精度到两精度的精度?
- 11. Swift中的高精度定时器
- 12. 高精度事件计时器
- 13. 配置Windows时间高(亚秒)精度
- 14. 不能使C++程序使用足够高的精度
- 15. 以高精度在C++中测量时间
- 16. 数精度C++
- 17. C#float精度
- 18. C#双精度分割时丢失精度
- 19. ELKI如何提高精度?
- 20. 高功率和双精度
- 21. 为了提高Tesseract精度
- 22. Java图形高精度drawArc
- 23. RRD具有高精度?
- 24. cllocation -distanceFromLocation精度不高
- 25. 精度高达1克
- 26. 提高GPS精度的Android
- 27. 高精度数值计算
- 28. 绘制高精度数据
- 29. C#提高文件处理的进度条精度
- 30. 时钟()精度
完美工作。 – 7VoltCrayon