4

只有 UI 线程能够显示到屏幕上,还是其他线程也可以这样做?

4

3 回答 3

7

不,您只能直接从 UI 线程访问 UI,但您可以编组来自其他线程的结果,例如使用 Control.Invoke 或 control.BegineInvoke/EndInvoke

看看这个_

于 2011-05-19T18:20:04.143 回答
1

您可以使用BeginInvoke()所有 GUI 控件的成员从后台线程更改其属性的值。
如果您使用的是后台工作人员,则可以使用ReportProgress事件,这更容易。

于 2011-05-19T18:20:52.503 回答
0

还取决于您使用的是 WinForms 还是 WPF,在 Winforms 中使用 Control.Invoke,在 WPF 中使用 Dispatcher 类。WPF 具有更复杂的线程 UI 调度程序

于 2011-05-20T09:38:50.583 回答