J’essaie d’implémenter un travailleur d’arrière-plan dans mon programme, afin qu’il ne gèle pas lorsque je lance le programme et commence à récupérer les données dont j’ai besoin.
Je ne sais pas trop comment fonctionne le travailleur d’arrière-plan.
Les travailleurs en arrière-plan sont des threads qui s’exécutent en arrière-plan et fonctionnent sans interrompre / bloquer votre thread principal.
Vous pouvez en lire plus ici .
En termes rapides:
Dans DoWork, faites votre opération de blocage. Chaque fois que vous le pouvez, indiquez à quel point vous êtes avec l’opération à l’aide de (sender as BackgroundWorker).ReportProgress(50);
par exemple pour signaler 50% d’achèvement.
Vous pouvez demander à votre fil principal de s’abonner à l’événement “ProgressChanged”, qui peut mettre à jour l’interface graphique ou effectuer d’autres tâches qui devraient se produire lorsque la progression a changé.