使用Task来实现跨线程更新UI

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用Task来实现跨线程更新UI相关的知识,希望对你有一定的参考价值。

    
public partial class Form1 : Form { public Form1() { InitializeComponent();
       var task = Task.Factory.StartNew(() => { for (int i = 0; i < 9999; i++) { UpdateText("测试" + i); Thread.Sleep(1000); } }); }
     public void UpdateText(string text) { if (txt.InvokeRequired)//当前线程不是创建线程 txt.BeginInvoke(new InvokeCallback(UpdateText), new object[] { text });//回调 else//当前线程是创建线程(界面线程) txt.Text = text;//直接更新 } }

 

以上是关于使用Task来实现跨线程更新UI的主要内容,如果未能解决你的问题,请参考以下文章

Winform跨线程更新UI控件

Android Handler 具体解释

多线程更新UI的常用方法

如何在android一条单独线程,更新ui ?

unity c#跨线程调用怎么实现

C# Winform 跨线程更新UI控件常用方法汇总