2009-03-17 6 views
1

Y at-il un moyen de gérer les multiples événements appuyez sur la touche sur un ordinateur Windows C# forme, comme Ctrl +E?Gérer plusieurs événements vous maintenez la touche C fenêtres # forme

Voici mon code:

private void frmDataEntry_KeyDown(object sender, KeyEventArgs e) 
{ 
    if (Control.ModifierKeys == Keys.Control && e.KeyCode == Keys.E) 
    { 
      //Code 
    }    
} 

Cette condition est toujours fausse .. pourquoi? Je presse Ctrl + E et e.KeyCode est faux et Control.ModifierKeys est vrai? Qu'est-ce que je fais mal?

Répondre

6

Il devrait être:

if (e.Modifiers == Keys.Control && e.KeyCode == Keys.E) { 
    //Code 
} 

Control.ModifierKeys est pour onClick événements et autres.

3

Je pense que la condition que vous cherchez est

if (e.Control && e.KeyCode == Keys.E) 
{ 
    // code 
} 
+0

cela donne un comportement légèrement différent que ma réponse. ma condition n'est vraie que pour Ctrl + E, alors que c'est aussi vrai pour Ctrl + Maj + E, Ctrl + Alt + E, etc. –

Questions connexes