只有UI线程能够显示在屏幕上,还是其他线程也可以这样做?
答案 0 :(得分:7)
不,您只能直接从UI线程访问UI,但您可以封送其他线程的结果,例如使用Control.Invoke或control.BegineInvoke / EndInvoke
检查this
答案 1 :(得分:1)
您可以使用所有GUI控件的BeginInvoke()
成员从后台线程更改其属性的值
如果您使用的是背景工作者,则可以使用ReportProgress
事件,这更容易。
答案 2 :(得分:0)
还取决于您使用WinForms还是WPF,在Winforms中使用Control.Invoke,在WPF中使用Dispatcher类。 WPF具有更复杂的线程UI调度程序