Sortir de la boucle à l'appui d'une touche.

Fermé
Vicck - Modifié le 24 juil. 2017 à 23:31
Whismeril Messages postés 19029 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 26 avril 2024 - 25 juil. 2017 à 13:06
Bonjour.
J'ai écrit ce code, qui devrait donc faire en sorte que l'appui de la touche Echap fasse sortir de la boucle. Mais ça ne marche pas, bien que je n'aie pas d'erreurs.
Un peu d'aide serait la bienvenue. ;)
Merci d'avance !

bool echap = false;

while (aidecomp < secondesd)
     {
          if(echap == true)
               {
                    break;
               }
          else
                    {
                              Cursor.Position = new Point(posx, posy);
                              DoMouseClick();
                              aidecomp = aidecomp + secondes;
                              System.Threading.Thread.Sleep(secondes);
                              Application.DoEvents();
                    }
     }

public void escapeTest(object sender,KeyEventArgs e)
          {
                    if (e.KeyCode == Keys.Escape)
                    {
                              echap = true;
                    }
          }

1 réponse

Whismeril Messages postés 19029 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 26 avril 2024 931
25 juil. 2017 à 07:14
Bonjour

à quel événement de quel objet est abonnée la méthode escapeTest
0
Justement, je ne sais pas à quel événement/objet abonner la méthode étant donné que la vérification de touche doit se faire continuellement... et qu'il est bien entendu impossible de faire quelque chose comme :
this.escapeTest += new System.Windows.Forms.KeyEventHandler(escapeTest);
0
Whismeril Messages postés 19029 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 26 avril 2024 931
25 juil. 2017 à 13:06
Si continuellement veut dire que ton Form est actif, alors tu l'abonnes au KeyPress du Form et tu mets la propriété KyePreview à true.
S'il faut que ça marche même si ton Form n'a pas le focus, alors tu dois faire un hook clavier.
0