Bonjour,
j'aimerais comprendre comment fonctionnent les évenements ProgressChanged et RunWorkerCompleted de System.ComponentModel.BackgroundWorker: par exemple, imaginons que dans mon thread principal j'instancie une nouvelle Form qui contient en membres privés un BackgroundWorker et un bouton. Lorsque l'utilisateur clique sur le bouton, j'appelle BackgroundWorker.RunWorkerAsync. Cette méthode n'attend pas la fin du traitement pour retourner, elle lance donc son traitement dans un thread séparé. Puis dans le handler de l'événement RunWorkerCompleted, je décide de mettre a jour mes controles: pourquoi je n'ai pas besoin d'appeler Control.Invoke, alors que je suis pourtant dans un autre thread que celui qui les a instancié?
Partager