Bonjour à tous,
J'ai un petit souci avec Thread::Sleep() qui bloque l'exécution de l'instruction StatusLabel->Text ...
Pour expliquer clairement voici un exemple :
Le StatusLabel ne s'affiche pas pendant l'exécution de la boucle mais uniquement à la fin avec la valeur 9 alors que la ProgressBar de son côté progresse bien à chaque incrément de i ..
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) { for (int i = 0; i< 10; i++) { StatusLabel->Text= i.ToString(); ProgressBar->Value= i; Thread::Sleep(500); } }
Pourquoi donc le StatusLabel ne se comporte pas comme la ProgressBar ?
J'ai résolu le problème en remplaçant Thread::Sleep par un timer, mais je trouve ça lourdingue pour un simple StatusLabel
Bonne journée et merci d'avance.
Partager