Entwickler-Ecke

WinForms - Enter Taste für Textbox richtig verwenden.


avoid - Fr 09.08.13 14:10
Titel: Enter Taste für Textbox richtig verwenden.
Ich habe in einem Form einen Button,
dessen Click Event ich auslöse wenn Enter gedrückt wird.

das habe ich so gelöst:

C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
private void button_Senden_KeyPress(object sender, KeyPressEventArgs e)
{
    if (e.KeyChar == (char)Keys.Enter)
    {
        this.button_Senden.PerformClick();
    }
}


nun habe ich das selbe mit dem KeyPress Event einer TextBox gemacht und es klappt sogar.
leider bekomme ich beim Enter drücken bei Fokussierter TextBox immer ein "Ping" von Windows.
scheinbar will mir das System damit sagen das Enter keine gültige Eingabe für eine Singleline TextBox ist.

was kann ich den ändern oder anpassen,
damit die Entertaste in meiner TextBox erlaubt ist,
ohne die TextBox auf Multiline stellen zu müssen?


Ralf Jansen - Fr 09.08.13 14:14

Nachdem du Enter behandelt hast mußt du dem System noch sagen das es das selbst dann nicht mehr braucht.
Drum in den EventArgs Handled noch auf True setzen.


avoid - Fr 09.08.13 15:18

geil! das war es.


C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
private void textBox_Eingabe_KeyPress(object sender, KeyPressEventArgs e)
{
    if (e.KeyChar == (char)Keys.Enter)
    {
        this.button_Senden.PerformClick();
        e.Handled = true;
    }
}


funktioniert jetzt wie gewünscht.