arrêter une boucle infinie avec DoEvents
J'ai un problème avec le DoEvents();
j'ai un bouton mesurer qui m'affiche des valeurs random lorsque je clique dessus et un bouton arrêter qui stop l'affichage.
mon problème est qu'il faut que je clique deux fois sur le bouton ou bien je clique quelque part dans le form puis je clique sur le bouton pour que l'affichage s'arrête
voici mon code
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
private: System::Void buttonMesurer_Click(System::Object^ sender, System::EventArgs^ e) {
this->stop = false;
while(!stop)
{
Sleep(100);
Random ^rnd = gcnew Random();
int mesure = rnd->Next(100);//(dblValue*ratioValue);
this->textBoxMesure->Text=mesure.ToString();
// this->Update();
System::Windows::Forms::Application::DoEvents();
}
}
private: System::Void buttonArreter_Click(System::Object^ sender, System::EventArgs^ e) {
this->stop = true;
//this->Update();
} |
Merci d'avance