BackgroundWorker.IsBusy Property


The .NET API Reference documentation has a new home. Visit the .NET API Browser on to see the new experience.

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.

Universal Windows Platform
Available since 10
.NET Framework
Available since 2.0
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Return to top