如何在WinForm中处理异步任务

avatar
作者
猴君
阅读量: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控件。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!