BackgroundWorker.IsBusy Property

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

Namespace:  System.ComponentModel
Assemblies:   System.ComponentModel.EventBasedAsync (in System.ComponentModel.EventBasedAsync.dll)
  System (in System.dll)

Public ReadOnly Property IsBusy As Boolean

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 Sub downloadButton_Click( _
    ByVal sender As Object, _
    ByVal e As EventArgs) _
    Handles downloadButton.Click

    ' Start the download operation in the background. 

    ' Disable the button for the duration of the download. 
    Me.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. 

    ' 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 Me.backgroundWorker1.IsBusy
        ' Keep UI messages moving, so the form remains  
        ' responsive during the asynchronous operation.
    End While 
End Sub

.NET Framework

Supported in: 4.6, 4.5, 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Supported in: Windows Phone 8.1

Supported in: Windows Phone Silverlight 8.1

Supported in: Windows Phone Silverlight 8
Was this page helpful?
(1500 characters remaining)
Thank you for your feedback
© 2015 Microsoft