如何从另一个线程更新 GUI?
发布于 2022-03-22 23:30:17
哪个是Label
从另一个更新 a 的最简单方法Thread
?
- 我有一个
Form
正在运行的thread1
,然后我开始另一个线程(thread2
)。 - 在
thread2
处理一些文件时,我想Label
用Form
当前thread2
工作状态更新 a 。
我怎么能那样做?
关注者
0
被浏览
85
1 个回答
-
最简单的方法是传入匿名方法
Label.Invoke
:// Running on the worker thread string newText = "abc"; form.Label.Invoke((MethodInvoker)delegate { // Running on the UI thread form.Label.Text = newText; }); // Back on the worker thread
请注意,
Invoke
在完成之前会阻塞执行——这是同步代码
推荐阅读
-
如何从另一个线程更新GUI?
2021-02-02 关注 0 浏览124 1答案
-
如何从Java中的另一个线程更新SWT GUI
2021-01-30 关注 0 浏览68 1答案
-
如何从另一个类中运行的另一个线程更新UI
2021-02-02 关注 0 浏览111 1答案
-
PyQt-从另一个线程修改GUI
2021-01-29 关注 0 浏览95 1答案
-
C#Windows窗体应用程序-从另一个线程和类更新GUI?
2021-02-02 关注 0 浏览97 1答案
-
从另一个线程更新JLabel
2021-01-29 关注 0 浏览94 1答案
-
从另一个线程更新SWT对象
2021-01-29 关注 0 浏览121 1答案
-
javafx,从另一个线程更新ui
2021-01-31 关注 0 浏览124 1答案
-
从另一个线程或进程更新Gtk.ProgressBar
2021-01-29 关注 0 浏览78 1答案
-
从android中的另一个线程更新ui
2021-01-29 关注 0 浏览122 1答案