這實際上是我見過但無法解釋的顯着差異。這些定時器的間隔設置爲1ms(最低可用),但在最小化時,似乎更快?任何人都可以向我解釋這種現象嗎?如果可能,解釋如何在窗口最大化時重現效果?.NET定時器控件在窗口最小化時運行得更快
3
A
回答
3
這是一個嗎?
我懷疑它運行得更快,更可能是更及時地處理Timer觸發事件。雖然最小化,但大概會少一些Form窗口消息泵處理的消息,這可能會佔用較大的時間片來處理Timer消息。還有最小的定時器分辨率。
如果適用,可以嘗試使用其他定時器類型之一,如System.Timers
Windows窗體Timer組件是 單線程的,並且被限制在55毫秒的 精度。如果 要求多線程定時器的精度更高,請使用System.Timers命名空間中的Timer類 。
Ref。
2
如果我沒有記錯的話,最低分辨率,你可以得到一個System.Windows.Forms.Timer
(我認爲是你在這裏使用的)是55毫秒。將其設置爲1 ms基本上意味着它連續滴答。
當然,計時器並不能保證tick會到達指定的時間間隔。如果你的應用程序忙於做其他事情(比如重新繪製屏幕),那麼它可能需要幾個ms,或者在重負載下更多。如果計時器設置爲1秒的時間間隔,則不會真正注意到這一點,但在最小窗口(55毫秒)內,您可能會發現。
當應用程序最小化時,其他事件發生之前可以中斷計時器事件的次數更少。
+0
+1來自我。你的記憶力比我的好,我不得不查找計時器間隔! – 2010-01-30 04:42:54
相關問題
- 1. 在Tkinter窗口最小化時運行一個命令
- 2. Qt快速窗口最小化事件
- 3. WndProc:如何在窗體最小化時獲得窗口消息
- 4. 當窗口最大化時獲得非最大化的窗口位置/大小
- 5. 定時器和瀏覽器 - 不專心或最小化窗口
- 6. 當應用程序運行時最小化所有正在運行的窗口
- 7. android從窗口小部件調用定時器運行函數
- 8. OSX上的QtRuby恢復定時器上的最小化窗口
- 9. 繪圖窗口消失時最小化
- 10. 最小化窗口時文本丟失
- 11. 當窗口最小化時Chrome captueVisibleTab()
- 12. 最小化窗口時自動重繪
- 13. Qt QDockWidget(浮動)最小化時,我的主窗口最小化
- 14. 如何使用最小化/最大化窗口控件顯示Qt.Tool窗口?
- 15. Div在最小化瀏覽器窗口時隱藏
- 16. MediaStreamRecorder在瀏覽器窗口最小化時停止錄製
- 17. 如何在應用程序運行時最小化其他窗口C#
- 18. 當主窗口最小化時,WPF聚焦可見窗口
- 19. 陰影隱藏窗口最小化時,父窗口
- 20. 在隱藏某些控件時最大化wpf窗口
- 21. 在最大化窗口大小時重新調整彼此相鄰的控件
- 22. 用於運行JAR文件的CreateProcess最小化窗口開始
- 23. .NET定時器控件
- 24. 如何在運行時更改控制檯窗口樣式?
- 25. 對象在調整大小和窗口最小化時消失
- 26. 如何在最小化窗口後最大化窗口
- 27. 當窗口最小化時,Chrome瀏覽器和Mozilla中的計時器JavaScript不運行
- 28. 窗口最小化時,如何動態地將控件添加到窗體窗體splitter控件中?
- 29. 瀏覽器窗口最小化/最大化事件
- 30. 瀏覽器窗口最小化時位置重疊
順便說一句,你知道這是一個.NET的'定時器'控制而不是C#嗎?在VB.NET,F#等中的相同控制 – 2010-01-30 04:21:33
對不起,我暗示我使用的語言是C#。我碰巧命令它笨拙。 – 2010-01-30 04:48:15