private void button1_Click(object sender, EventArgs e)
{
Task.Run(() =>
{
while (true)
{
this.Invoke(new Action(() =>
{
textBox1.Text = DateTime.Now.ToString(); //刷新UI界面
}));
fun();//模拟耗时操作
}
});
}
private async void fun()
{//耗时操作
await Task.Run(() => {
for (int i = 0; i < 9999; i++)
{
Console.WriteLine(i);
}
});
}
说明:在这个例子中,通过按钮创建一个线程,线程执行一个循环。在新线程中需要执行刷新UI控件textBox1,同时需要新线程执行耗时任务,需要用到async与await配合
