Looking for c# Answers? Try Ask4KnowledgeBase
Looking for c# Keywords? Try Ask4Keywords

C# LanguageBackgroundWorker


Syntaxe

  • bgWorker.CancellationPending //returns whether the bgWorker was cancelled during its operation

  • bgWorker.IsBusy //returns true if the bgWorker is in the middle of an operation

  • bgWorker.ReportProgress(int x) //Reports a change in progress. Raises the "ProgressChanged" event

  • bgWorker.RunWorkerAsync() //Starts the BackgroundWorker by raising the "DoWork" event

  • bgWorker.CancelAsync() //instructs the BackgroundWorker to stop after the completion of a task.

Remarques

L'exécution d'opérations de longue durée au sein du thread d'interface utilisateur peut entraîner le blocage de votre application, apparaissant à l'utilisateur comme ayant cessé de fonctionner. Il est préférable que ces tâches soient exécutées sur un thread d'arrière-plan. Une fois terminée, l'interface utilisateur peut être mise à jour.

Apporter des modifications à l'interface utilisateur pendant l'opération BackgroundWorker nécessite d'appeler les modifications apportées au thread d'interface utilisateur, généralement à l'aide de la méthode Control.Invoke sur le contrôle que vous mettez à jour. Si vous négligez de le faire, votre programme lancera une exception.

Le BackgroundWorker est généralement utilisé uniquement dans les applications Windows Forms. Dans les applications WPF, les tâches permettent de décharger le travail sur les threads d'arrière-plan (éventuellement en combinaison avec async / wait ). La mise à jour des mises à jour sur le thread d'interface utilisateur s'effectue généralement automatiquement lorsque la propriété mise à jour implémente INotifyPropertyChanged ou manuellement à l'aide du répartiteur du thread d'interface utilisateur.

BackgroundWorker Exemples Liés