2009-10-07 12 views
0

Est-ce que quelqu'un sait comment je peux configurer un gestionnaire d'événements de sorte que si les touches Alt + Maj + Ctrl + une lettre font quelque chose?Combinaisons de touches dans C# winforms application

+0

Vérifiez ce Q & R: http://stackoverflow.com/questions/865774/c-getting-the-correct-keys- pressé-de-keyeventargs-keydata –

Répondre

4
override void OnKeyDown(object sender, KeyEventArgs e) 
{ 
    bool myKeysPressed = (e.KeyCode == Keys.A) && 
         ((e.Modifiers & Keys.Alt) == Keys.Alt) && 
         ((e.Modifiers & Keys.Shift) == Keys.Shift) && 
         ((e.Modifiers & Keys.Control) == Keys.Control); 
} 
3

Sames comme Ed, mais plus court et plus facile à lire;)

override void OnKeyDown(object sender, KeyEventArgs e) 
{ 
    bool myKeysPressed = (e.KeyCode == Keys.A) && 
          e.Alt && 
          e.Shift && 
          e.Control; 
} 
+0

pourquoi avez-vous besoin de surcharger? n'est-il pas possible d'ajouter simplement un gestionnaire d'événement à l'événement keydown? – Grant

+1

Oui, vous pouvez faire la même chose dans un gestionnaire d'événements –

+0

Ahhh, ne savait même pas que ces propriétés existaient. @Grant: Vous pouvez remplacer la méthode si ce code se trouvait dans la définition de classe de votre objet cible, sinon utilisez l'événement. –

Questions connexes