Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Illegal cross-thread operation

1 réponse
Avatar
Alex
J'utilise un thread pour faire un long travail. j'ai créé un évènent pour
savoir ou en est ce job.
malheureusement je n'arrive pas à utilisé les arguments de mon évènement
avec les composants(progressbar) de mon form sans avoir une erreur "Illegal
cross-thread operation".

quelqu'un aurai une petite idée?

Merci d'avance

1 réponse

Avatar
Bruno Jouhier [MVP]
WinForms est un peu particulier en ce qui concerne le threading. On ne peut
pas intéragir directement avec les composants GUI qui ont été crées pas un
thread à partir d'un autre thread, il faut passer par la méthode
Control.Invoke (qui transforme l'appel en un message posté dans la queue de
message du thread qui a créé le composant). Tout cela vient des modèles de
threading "apartment" de COM.

Pour plus d'infos, tu peux faire une recherche avec "Control Invoke cross
thread" sur google, ou simplement regarder la doc en ligne de
Control.Invoke.

Bruno.

"Alex" a écrit dans le message de news:
%23Ibb%
J'utilise un thread pour faire un long travail. j'ai créé un évènent pour
savoir ou en est ce job.
malheureusement je n'arrive pas à utilisé les arguments de mon évènement
avec les composants(progressbar) de mon form sans avoir une erreur
"Illegal
cross-thread operation".

quelqu'un aurai une petite idée?

Merci d'avance