2010-04-01 3 views
3

comment puis-je modifier le texte dans un élément de formulaire Windows si le code qui modifie le texte «appartient» à un thread distinct de celui qui contient le formulaire Windows? Je reçois l'exception:Édition de contrôle Winforms de threads croisés

Opération croisée non valide: contrôle 'textBox1' accédé à partir d'un thread autre que le thread sur lequel il a été créé.

Merci.

+0

S'il vous plaît montrer le code .... comme cela ne suffit pas pour nous à vous aider! – t0mm13b

+0

http://stackoverflow.com/questions/661561/how-to-update-the-gui-from-another-thread-in-c – Anthony

Répondre

23

Vous devez utiliser la méthode Control.Invoke comme ceci:

textbox1.Invoke((MethodInvoker)(() => 
    { 
    textbox1.Text="some text"; 
    })); 

Vérifiez cet article aussi: Threading in UIs

+0

Insérer 'Action y;' dans la classe et exécuter le code 'label1.Invoke (y =() => label1.Text = "Tout texte"); ' –

Questions connexes