BackgroundWorker.IsBusy Vlastnost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Získá hodnotu označující, zda BackgroundWorker je spuštěn asynchronní operace.
public:
property bool IsBusy { bool get(); };
public bool IsBusy { get; }
[System.ComponentModel.Browsable(false)]
public bool IsBusy { get; }
member this.IsBusy : bool
[<System.ComponentModel.Browsable(false)>]
member this.IsBusy : bool
Public ReadOnly Property IsBusy As Boolean
Hodnota vlastnosti
true
, pokud BackgroundWorker je spuštěna asynchronní operace; v opačném případě . false
- Atributy
Příklady
Následující příklad kódu ukazuje, jak použít IsBusy vlastnost čekat na dokončení BackgroundWorker operace. Tento příklad kódu je součástí většího příkladu popsaného v tématu Postupy: Stažení souboru na pozadí.
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();
}
}
Private Sub downloadButton_Click( _
ByVal sender As Object, _
ByVal e As EventArgs) _
Handles downloadButton.Click
' Start the download operation in the background.
Me.backgroundWorker1.RunWorkerAsync()
' 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
progressBar1.Increment(1)
' Keep UI messages moving, so the form remains
' responsive during the asynchronous operation.
Application.DoEvents()
End While
End Sub
Poznámky
Spustí BackgroundWorker asynchronní operaci při volání RunWorkerAsyncmetody .