只有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. UIPopoverController可以在屏幕上移動嗎?
- 3. 我可以在主線程(UI線程)之外創建UI嗎?
- 4. 在屏幕上顯示textView
- 5. 在屏幕上顯示
- 6. 在屏幕上以相反順序顯示線條
- 7. 從非UI線程顯示AlertDialog
- 8. 編寫長文本在Android屏幕上顯示以便屏幕滾動顯示
- 9. 在屏幕上顯示多線程數據
- 10. 如何確保Swing UI實際上顯示在屏幕上?
- 11. 我可以在Windows Vista登錄屏幕上或旁邊顯示錶單嗎?
- 12. 您可以強制NSWindow加載,即在屏幕上顯示它之前嗎?
- 13. 我可以在iPhone上同時顯示多個全屏幕OpenGL視圖(EAGLView)嗎?
- 14. 你可以從非UI線程訪問mainBundle嗎?
- 15. 偏好不以編程方式顯示在子屏幕上
- 16. 在屏幕上多次顯示可編程域
- 17. 是否可以在當前屏幕上只顯示需要顯示的數據?
- 18. 是不可能從非UI線程顯示FolderBrowserDialog?
- 19. 在Unity UI上不顯示屏幕截圖圖像
- 20. 地方顯示了一個自定義的UI在屏幕上
- 21. 非UI線程上的DispatcherObject
- 22. 可以在UI線程上運行BeginInvoke中斷代碼嗎?
- 23. 可以在UI線程上查詢DownloadManager嗎?
- 24. 如何使SpannableStringBuilder.setSpan更新非UI線程上的顯示?
- 25. Android - 非UI線程的外屏繪圖
- 26. 可以構建在後臺線程的形式,然後在UI線程顯示
- 27. 如何在Android的屏幕上顯示非XML PopupWindow
- 28. Media Projection api可以在棒棒糖主屏幕上截取屏幕截圖嗎?
- 29. 上顯示屏而不是上次打開的屏幕顯示
- 30. WPF線程:我可以在非UI線程中更新控件的數據上下文嗎?
供參考:您可以在一個進程中有多個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