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

Fermé
Vicck - Modifié le 24 juil. 2017 à 23:31
Whismeril Messages postés 18279 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 17 mars 2023 - 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 18279 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 17 mars 2023 888
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 18279 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 17 mars 2023 888
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