我想在循環中手動提高application.idle事件。有可能在C#中?提高閒置事件
Q
提高閒置事件
0
A
回答
2
您無法手動引發Application.Idle事件。
如果您的目標是在循環中繼續處理消息,則可以在循環過程中經常調用Application.DoEvents(),但這不會導致引發Application.Idle事件。
如果您需要在循環中處理空閒事件,則可以在後臺線程上運行循環,這將保持UI的響應。
http://msdn.microsoft.com/en-us/library/system.componentmodel.backgroundworker.aspx
3
的Application.Idle事件由RaiseIdle()方法提出。你不能直接調用它,這是一種私人方法。從技術上講,你可以使用反射來解決這個問題。
然而這樣做不太可能奏效,閒置有一個非常具體的含義。當消息循環發出所有待處理的消息並且不需要做更多的工作時會引發它。在循環中提高閒置沒有意義,你不是閒置,你在循環。應用程序在其空閒事件處理程序中採取的任何操作都不會對用戶界面產生明顯影響。對於這個問題,在一個循環中提升它也是沒有意義的,一個應用程序不能閒置一次以上。
當你考慮編寫這樣的代碼時,你可能真的在尋找Application.DoEvents()。
相關問題
- 1. 事件預期不提高是提高
- 2. 手動提高ContextMenuClosing事件
- 3. 提高QT QEvent :: WindowActivate事件
- 4. 試圖提高事件c#
- 5. 提高使用onLoad事件
- 6. 未提高Combobox INotifyPropertyChanged事件!
- 7. 事件提高對服務
- 8. 未提高DragDrop事件
- 9. FileSystemWatcher提高多個事件
- 10. 提高WPF MouseLeftButtonDownEvent事件
- 11. 提高Backbone.js查看事件
- 12. 閒置事務並使用PostgreSQL鎖定
- 13. 設置在農閒提醒鏈接
- 14. VB.NET - 手動提高FormClosing事件
- 15. 通過一般方法提高事件
- 16. ASP.NET linkbutton提高onBeforeUnload事件兩次
- 17. 如何提高交叉線程事件
- 18. 如何提高Yii中的CComponent事件
- 19. 在鏈接類中提高事件
- 20. 在按鍵後提高事件
- 21. VB.net提高事件......混亂! MVC
- 22. 如何從另一個提高事件
- 23. 提高對象集合的事件
- 24. NSButton在mouseup上提高單擊事件
- 25. FullCalendar提高性能,渲染事件
- 26. 從自定義類提高事件
- 27. VB.Net如何提高COM事件
- 28. 安全地提高事件線程
- 29. 從catch塊內部提高事件
- 30. Applicationcache不斷提高「錯誤」事件
你試過了嗎? – Oded 2010-05-01 16:59:16