Problème d'affichage lors de l’exécution d'un ThreadPool.
Bonjour à tous,
Je ne m'explique pas pourquoi, je ne peux pas afficher dans la méthode "Etape1" un message dans textBox1,
j'ai un plantage et aucun message d'erreur.
En vous remerciant pour vos explications et votre aide
Cordialement.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
private void button1_Click(object sender, EventArgs e)
{
AutoResetEvent autoResetEvent = new AutoResetEvent(false);
ThreadPool.QueueUserWorkItem(new WaitCallback(Etape1), autoResetEvent);
autoResetEvent.WaitOne();
textBox1.AppendText("Terminé !!!");
}
public void Etape1(object stateInfo)
{
//plantage lors de l'appel de cet Invoke
Invoke(new Action(() => textBox1.AppendText("Départ de travail du 1" + "\n")));
//Simulate time spent working.
Thread.Sleep(new Random().Next(1000, 1500));
((AutoResetEvent)stateInfo).Set();
} |