BackgroundWorker.IsBusy Property
Gets a value indicating whether the BackgroundWorker is running an asynchronous operation.
Namespace: System.ComponentModel
Assembly: System (in System.dll)
Property Value
Type: System.Booleantrue, 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. 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(); } }
Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.