小言_互联网的博客

Winform之跨线程更新UI

628人阅读  评论(0)

使用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
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场