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

Fermé
Vicck - Modifié le 24 juil. 2017 à 23:31
 Utilisateur anonyme - 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;
                    }
          }
A voir également:

1 réponse

Utilisateur anonyme
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
Utilisateur anonyme
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