BackgroundWorker.RunWorkerAsync Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Démarre l'exécution d'une opération d'arrière-plan.
Surcharges
RunWorkerAsync() |
Démarre l'exécution d'une opération d'arrière-plan. |
RunWorkerAsync(Object) |
Démarre l'exécution d'une opération d'arrière-plan. |
RunWorkerAsync()
- Source:
- BackgroundWorker.cs
- Source:
- BackgroundWorker.cs
- Source:
- BackgroundWorker.cs
Démarre l'exécution d'une opération d'arrière-plan.
public:
void RunWorkerAsync();
public void RunWorkerAsync ();
member this.RunWorkerAsync : unit -> unit
Public Sub RunWorkerAsync ()
Exceptions
IsBusy a la valeur true
.
Exemples
L’exemple de code suivant illustre l’utilisation de la RunWorkerAsync méthode pour démarrer une opération asynchrone. Il fait partie d’un exemple plus large décrit dans Guide pratique pour télécharger un fichier en arrière-plan.
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
Remarques
La RunWorkerAsync méthode envoie une demande de démarrage de l’opération en cours d’exécution asynchrone. Lorsque la requête est mise en service, l’événement DoWork est déclenché, ce qui démarre à son tour l’exécution de votre opération en arrière-plan.
Si l’opération en arrière-plan est déjà en cours d’exécution, l’appel RunWorkerAsync à nouveau déclenche un InvalidOperationException.
Voir aussi
- DoWork
- Procédure : exécuter une opération en arrière-plan
- Meilleures pratiques pour le threading managé
- Procédure : télécharger un fichier en arrière-plan
S’applique à
RunWorkerAsync(Object)
- Source:
- BackgroundWorker.cs
- Source:
- BackgroundWorker.cs
- Source:
- BackgroundWorker.cs
Démarre l'exécution d'une opération d'arrière-plan.
public:
void RunWorkerAsync(System::Object ^ argument);
public void RunWorkerAsync (object argument);
public void RunWorkerAsync (object? argument);
member this.RunWorkerAsync : obj -> unit
Public Sub RunWorkerAsync (argument As Object)
Paramètres
- argument
- Object
Paramètre disponible pour une exécution par l'opération d'arrière-plan dans le gestionnaire d'événements DoWork.
Exceptions
IsBusy a la valeur true
.
Exemples
L’exemple de code suivant illustre l’utilisation de la RunWorkerAsync méthode pour démarrer une opération asynchrone. Cet exemple de code fait partie d’un exemple plus grand fourni pour la BackgroundWorker classe .
// Start the asynchronous operation.
backgroundWorker1->RunWorkerAsync( numberToCompute );
// Start the asynchronous operation.
backgroundWorker1.RunWorkerAsync(numberToCompute);
' Start the asynchronous operation.
backgroundWorker1.RunWorkerAsync(numberToCompute)
Remarques
La RunWorkerAsync méthode envoie une demande de démarrage de l’opération en cours d’exécution asynchrone. Lorsque la requête est mise en service, l’événement DoWork est déclenché, ce qui démarre à son tour l’exécution de votre opération en arrière-plan.
Si votre opération nécessite un paramètre, vous pouvez le argument
fournir en tant que paramètre à RunWorkerAsync.
Si l’opération en arrière-plan est déjà en cours d’exécution, l’appel RunWorkerAsync à nouveau déclenche un InvalidOperationException.
Voir aussi
- DoWork
- Procédure : exécuter une opération en arrière-plan
- Procédure : télécharger un fichier en arrière-plan
- Meilleures pratiques pour le threading managé