只有UI線程能夠顯示到屏幕上,或者其他線程也可以這樣做嗎?非UI線程可以顯示在屏幕上嗎?
4
A
回答
7
不,你只能直接從UI線程訪問UI,但你可以從名帥其它線程,如使用Control.Invoke或control.BegineInvoke/EndInvoke會
檢查this出來的結果
1
您可以使用所有GUI控件的BeginInvoke()
成員從後臺線程更改其屬性的值。
如果您使用的是背景工作,您可以使用ReportProgress
事件,這更容易。
0
也取決於您是否使用WinForms或WPF,在Winforms中使用Control.Invoke,而在WPF中使用Dispatcher類。 WPF具有更復雜的線程UI調度程序
相關問題
- 1. 您可以一次在屏幕上顯示多個CAEAGLLayer嗎?
- 2. ProgressDialog顯示在非UI線程中
- 3. UIPopoverController可以在屏幕上移動嗎?
- 4. 無法顯示屏幕UI圖上的垂直刻度線
- 5. 我可以在主線程(UI線程)之外創建UI嗎?
- 6. 可以在非UI線程中運行Robospice偵聽器嗎?
- 7. 在屏幕上以相反順序顯示線條
- 8. 在屏幕上顯示div
- 9. 在屏幕上顯示textView
- 10. 在屏幕上顯示
- 11. 從非UI線程顯示AlertDialog
- 12. 以下方法在iPhone上顯示登錄屏幕安全嗎?
- 13. 編寫長文本在Android屏幕上顯示以便屏幕滾動顯示
- 14. 在屏幕上顯示多線程數據
- 15. 如何確保Swing UI實際上顯示在屏幕上?
- 16. 我可以在iPhone上同時顯示多個全屏幕OpenGL視圖(EAGLView)嗎?
- 17. 您可以強制NSWindow加載,即在屏幕上顯示它之前嗎?
- 18. 你可以從非UI線程訪問mainBundle嗎?
- 19. 可以從非UI工作線程調用AsyncTask嗎?
- 20. 在iOS上,可以在主線程外讀取UI嗎?
- 21. phonegap可以啓動屏幕顯示gif圖像嗎?
- 22. 我可以顯示一個迷你屏幕嗎?
- 23. 在屏幕上多次顯示可編程域
- 24. 偏好不以編程方式顯示在子屏幕上
- 25. 是不可能從非UI線程顯示FolderBrowserDialog?
- 26. 是否可以在當前屏幕上只顯示需要顯示的數據?
- 27. 可以在UI線程上運行BeginInvoke中斷代碼嗎?
- 28. 可以在UI線程上查詢DownloadManager嗎?
- 29. 可以在UI線程上執行數據庫操作嗎?
- 30. 非UI線程上的DispatcherObject
供參考:您可以在一個進程中有多個UI線程。 – 2011-05-19 18:20:18
@Brian:我可以在哪裏瞭解這個?我不知道有多個UI線程。 。 。 – richard 2011-05-19 18:23:53
.NET限制對創建它們的STA線程的GUI控件訪問。您可以使用自己的一組控件創建其他STA線程。 – 2011-05-19 18:27:32