阅读量:0
在WinForm中处理异步任务可以使用Task类和async/await关键字来实现。以下是一个示例代码:
private async void button1_Click(object sender, EventArgs e) { // 开始异步任务 await Task.Run(() => { // 模拟耗时操作 Thread.Sleep(5000); // 更新UI控件 this.Invoke((MethodInvoker)delegate { label1.Text = "任务已完成"; }); }); }
在上面的示例中,当用户点击按钮时会触发button1_Click事件,然后启动一个异步任务,该任务会在另一个线程中执行耗时操作,然后通过Invoke方法更新UI控件。
需要注意的是,异步任务处理需要遵循UI线程和非UI线程的调度规则,确保在非UI线程中执行耗时操作,然后使用Invoke方法在UI线程更新UI控件。