This documentation is archived and is not being maintained.

BackgroundWorker.IsBusy Property

Gets a value indicating whether the BackgroundWorker is running an asynchronous operation.

Namespace:  System.ComponentModel
Assembly:  System (in System.dll)

public bool IsBusy { get; }

Property Value

Type: System.Boolean
true, if the BackgroundWorker is running an asynchronous operation; otherwise, false.

The BackgroundWorker starts an asynchronous operation when you call RunWorkerAsync.

The following code example demonstrates how to use the IsBusy property to wait for completion of a BackgroundWorker operation. This code example is part of a larger example described in How to: Download a File in the Background.

private void downloadButton_Click(object sender, EventArgs e)
    // Start the download operation in the background. 

    // 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)
        // Keep UI messages moving, so the form remains  
        // responsive during the asynchronous operation.

Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

.NET Framework

Supported in: 3.5, 3.0, 2.0