Winform之跨线程更新UI
使用Invoke
或者BeginInvoke
与UI线程交互示例
private void TaskInWinform_Load(object sender, EventArgs e)
{
Task task = Task.Factory.StartNew(() =>
{
BeginInvoke(new MethodInvoker(() =>
{
lblMessage.Text = "start";
}));
DoSomething();
BeginInvoke(new MethodInvoker(() =>
{
lblMessage.Text = "finish";
}));
});
}
GUI程序要求所有显示变化都必须在主GUI线程中完成。
参考及源码
走进异步编程的世界 - 在 GUI 中执行异步操作
C# Winform 跨线程更新UI控件常用方法汇总
Winform实现多线程异步更新UI(进度及状态信息)
Github
转载:https://blog.csdn.net/zhaobw831/article/details/83110346
查看评论