2016-07-29 33 views
1

Wenn der Benutzer die Eingabetaste drückt, möchte ich eine Nachricht anzeigen, die besagt, dass die Eingabetaste gedrückt wurde. Ansonsten möchte ich das Textfeld normal eingeben.Wenn Eingabetaste drücken - Nachricht anzeigen. Sonst - Geben Sie wie üblich ein

private void enterCheck(object sender, KeyEventArgs e) 
    { 
     if (e.KeyCode == Keys.Enter)  
     { 
       MessageBox.Show("Enter Was Clicked"); 
     } 
    } 

Wenn Enter gedrückt wird, wird die Nachricht korrekt angezeigt. Wenn ich jedoch versuche, einen Satz einzugeben, wird nichts in der Textbox angezeigt.

Dies funktioniert ...

private void enterCheck(object sender, KeyEventArgs e) 
    { 
     if (e.KeyCode == Keys.Enter)  
     { 
       MessageBox.Show("Enter Was Clicked"); 
     } 
     else 
     { 
       MessageBox.Show(e.KeyCode.ToString()); 
     } 
    } 

jedoch jeden Brief zeigt Ich habe keinen messagebox wollen, die eingegeben wurde.

+1

Nur den ganzen "else" -Block loswerden. – itsme86

+0

@ itsme86 Ich habe es versucht und das gleiche passiert – Michael

+0

An welches Ereignis ist 'enterCheck' gebunden? – FrankerZ

Antwort

2

Try this:

private void enterCheck(object sender, KeyEventArgs e) 
{ 
    if (e.KeyCode == Keys.Enter) 
    { 
     MessageBox.Show(e.KeyCode.ToString()); 
    } 
    else 
    { 
     e.Handled = true; 
    } 
} 

Bitte arbeiten! Dies ist die verwirrendste, die ich jemals erlebt habe!

0

Verwenden Sie das KeyPress Ereignis:

// This event occurs after the KeyDown event and can be used to prevent 
// characters from entering the control. 
private void textBox1_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e) 
{ 
    // Check for the flag being set in the KeyDown event. 
    if (e.KeyChar == (char)Keys.Return) 
    { 
     // Stop the character from being entered into the control since it is non-numerical. 
     MessageBox.Show("Enter Was Pressed"); 
     e.Handled = true; 
    } 
} 
+0

Ich erhalte den Fehler, dass KeyPressEventArgs keine Definition für KeyCode enthält – Michael

+0

Ich habe meine Antwort aktualisiert – FrankerZ

+0

@Michael Hat meine aktualisierte Antwort nicht funktioniert? – FrankerZ