BackgroundWorker.IsBusy 属性

定义

获取一个值,指示 BackgroundWorker 是否正在运行异步操作。

C#
public bool IsBusy { get; }
C#
[System.ComponentModel.Browsable(false)]
public bool IsBusy { get; }

属性值

如果 BackgroundWorker 正在运行异步操作,则为 true;否则为 false

属性

示例

下面的代码示例演示如何使用 IsBusy 属性等待操作完成 BackgroundWorker 。 此代码示例是 如何:在后台下载文件中所述的较大示例的一部分。

C#
private void downloadButton_Click(object sender, EventArgs e)
{
    // Start the download operation in the background.
    this.backgroundWorker1.RunWorkerAsync();

    // Disable the button for the duration of the download.
    this.downloadButton.Enabled = false;

    // Once you have started the background thread you 
    // can exit the handler and the application will 
    // wait until the RunWorkerCompleted event is raised.

    // Or if you want to do something else in the main thread,
    // such as update a progress bar, you can do so in a loop 
    // while checking IsBusy to see if the background task is
    // still running.

    while (this.backgroundWorker1.IsBusy)
    {
        progressBar1.Increment(1);
        // Keep UI messages moving, so the form remains 
        // responsive during the asynchronous operation.
        Application.DoEvents();
    }
}

注解

调用 RunWorkerAsync时, BackgroundWorker 将启动异步操作。

适用于

产品 版本
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1
UWP 10.0

另请参阅