2016-06-17 7 views
-1

Ich versuchte zu erkennen Strg + 1 Taste drücken in Textbox auf WinForm, aber der folgende Code erkennt nicht die Strg-Taste drücken. Jeder Vorschlag wird hilfreich sein.Wie erkennt man Strg + 1 Taste drücken in TextBox

private void textBox1_KeyDown(object sender, KeyPressEventArgs e) 
{ 
    if ((ModifierKeys & Keys.Control) == Keys.Control) 
    { 
     if (e.KeyChar == (char)Keys.D1) 
      MessageBox.Show("1 get selected"); 
    } 
} 
+0

Was passiert, wenn ein '&&' von zwei enum Werten? –

+0

@Meehow können Sie bitte erklären? Hilfreich, wenn Sie eine Probe geben. – ThePiranha

+2

'if (Keys.Control && Keys.D1)'? * Stellen Sie sicher, dass es die richtige Zahl 1 ist, da Sie den NumPad's1 verwenden, aber im Titel erwähnen Sie nur die '1' –

Antwort

0

Ihr (ModifierKeys & Keys.Control) verursacht Ihre Probleme. Ich würde vorschlagen, dass es einfach zu halten:

private void textBox1_KeyDown(object sender, KeyEventArgs e) 
{ 
    if (e.Control && e.KeyCode == Keys.D1) 
    { 
     MessageBox.Show("Selected !"); 
    } 
} 
+0

Verdammt ... du hast mich mit einem Bruchteil einer Sekunde geschlagen ^^ –

+1

Danke @Mekap. Es funktionierte. – ThePiranha

0

nur ein Vorschlag, aber es könnte sein, weil Sie KeyChar statt KeyCode zu vergleichen. Versuchen

private void textBox1_KeyDown(object sender, KeyPressEventArgs e) 
    { 
     if (e.Control && e.KeyCode == Keys.D1) 
     { 
       MessageBox.Show("1 get selected"); 
     } 
} 
Verwandte Themen