溫馨提示×

如何在WinForm中處理異步任務

小樊
147
2024-08-21 12:09:27
欄目: 智能運維

在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控件。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女