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

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

  1. Utilisateur anonyme
     
    Bonjour

    à quel événement de quel objet est abonnée la méthode escapeTest
    0
    1. Vicck
       
      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
    2. Utilisateur anonyme
       
      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