BackgroundWorker.RunWorkerAsync Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Hiermee start u de uitvoering van een achtergrondbewerking.
Overloads
| Name | Description |
|---|---|
| RunWorkerAsync() |
Hiermee start u de uitvoering van een achtergrondbewerking. |
| RunWorkerAsync(Object) |
Hiermee start u de uitvoering van een achtergrondbewerking. |
RunWorkerAsync()
Hiermee start u de uitvoering van een achtergrondbewerking.
public:
void RunWorkerAsync();
public void RunWorkerAsync();
member this.RunWorkerAsync : unit -> unit
Public Sub RunWorkerAsync ()
Uitzonderingen
IsBusy is true.
Voorbeelden
In het volgende codevoorbeeld ziet u hoe de RunWorkerAsync methode wordt gebruikt om een asynchrone bewerking te starten. Het maakt deel uit van een groter voorbeeld dat wordt beschreven in Procedure: Een bestand op de achtergrond downloaden.
void downloadButton_Click(object sender, EventArgs e)
{
// Start the download operation in the background.
backgroundWorker1.RunWorkerAsync();
// Disable the button for the duration of the download.
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 (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
Opmerkingen
De RunWorkerAsync methode verzendt een aanvraag om de bewerking asynchroon te starten. Wanneer de aanvraag wordt verwerkt, wordt de DoWork gebeurtenis gegenereerd, die op zijn beurt de uitvoering van uw achtergrondbewerking start.
Als de achtergrondbewerking al wordt uitgevoerd, wordt een aanroep RunWorkerAsync opnieuw geactiveerd InvalidOperationException.
Zie ook
- DoWork
- Handleiding: Een bewerking uitvoeren op de achtergrond
- Aanbevolen procedures voor beheerd draadbeheer
- Procedure: Een bestand downloaden op de achtergrond
Van toepassing op
RunWorkerAsync(Object)
Hiermee start u de uitvoering van een achtergrondbewerking.
public:
void RunWorkerAsync(System::Object ^ argument);
public void RunWorkerAsync(object argument);
member this.RunWorkerAsync : obj -> unit
Public Sub RunWorkerAsync (argument As Object)
Parameters
- argument
- Object
Een parameter voor gebruik door de achtergrondbewerking die moet worden uitgevoerd in de DoWork gebeurtenis-handler.
Uitzonderingen
IsBusy is true.
Voorbeelden
In het volgende codevoorbeeld ziet u hoe de RunWorkerAsync methode wordt gebruikt om een asynchrone bewerking te starten. Dit codevoorbeeld maakt deel uit van een groter voorbeeld voor de BackgroundWorker klasse.
// Start the asynchronous operation.
backgroundWorker1->RunWorkerAsync( numberToCompute );
// Start the asynchronous operation.
backgroundWorker1.RunWorkerAsync(numberToCompute);
' Start the asynchronous operation.
backgroundWorker1.RunWorkerAsync(numberToCompute)
Opmerkingen
De RunWorkerAsync methode verzendt een aanvraag om de bewerking asynchroon te starten. Wanneer de aanvraag wordt verwerkt, wordt de DoWork gebeurtenis gegenereerd, die op zijn beurt de uitvoering van uw achtergrondbewerking start.
Als voor uw bewerking een parameter is vereist, kunt u deze opgeven als parameter argument voor RunWorkerAsync.
Als de achtergrondbewerking al wordt uitgevoerd, wordt een aanroep RunWorkerAsync opnieuw geactiveerd InvalidOperationException.
Zie ook
- DoWork
- Handleiding: Een bewerking uitvoeren op de achtergrond
- Procedure: Een bestand downloaden op de achtergrond
- Aanbevolen procedures voor beheerd draadbeheer