Entwickler-Ecke
WinForms - Textbox Problem
Delete - Do 29.09.11 09:15
Titel: Textbox Problem
Hallo Leute,
wenn ich eine Textbox ausgewählt habe und den Text darin mit der ENTER Taste bestätigen will, kommt immer ein Ton,
gibt es eine Eigenschaft beim Textbox Steuerelement die ich auf False setzen kann damit kein Ton mehr kommt wenn ich die Eingabe per Tastendruck bestätigen will ?
Liebe Grüße BleachRukia
Ralf Jansen - Do 29.09.11 11:05
Heißt bei dir bestätigen das du Code geschrieben hast der irgendwas bei ENTER macht? Also zum Beispiel in einem der Key-Events? Dann solltest du wenn du ENTER behandelt hast dort auch in den EventArgs die Handled Property setzen um anzuzeigen das ENTER schon von dir behandelt wurde.
Ansonsten wenn dich der Beep stört schalte den Warnton in der Systemverwaltung aus.
Theki - Do 29.09.11 12:07
Ralf Jansen hat folgendes geschrieben : |
Heißt bei dir bestätigen das du Code geschrieben hast der irgendwas bei ENTER macht? Also zum Beispiel in einem der Key-Events? Dann solltest du wenn du ENTER behandelt hast dort auch in den EventArgs die Handled Property setzen um anzuzeigen das ENTER schon von dir behandelt wurde.
Ansonsten wenn dich der Beep stört schalte den Warnton in der Systemverwaltung aus. |
Zum Beispiel so:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7:
| private void textbox1_KeyDown(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Enter) { machwas(); } } |
Ralf Jansen - Do 29.09.11 12:49
Nicht ganz. Eher
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| private void textbox1_KeyDown(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Enter) { machwas(); e.Handled = true; } } |
Wenn denn
BleachRukia das mit bestätigen meint.
Delete - Fr 30.09.11 14:36
Hallo Leute,
nein das habt ihr jetzt falsch verstanden, ich meinte wenn ich z.b. das Programm über F5 starte dann in der Form auf die Textbox klicke und z.b. Hallo eintippe und dann die ENTER Taste drücke, dann kommt immer dieser Ton oder man kann es auch vergleichen mit, wenn ich ein Programm schreiben würde, wo der Benutzer einen Suchbegriff eingeben kann und dann auf Enter drücken muss, um zu bestätigen/Suche starten.
Liebe Grüße BleachRukia
Th69 - Fr 30.09.11 14:50
Hallo BleachRukia,
eine Eigenschaft gibt es dafür leider nicht, aber du mußt einfach das KeyPress-Ereignis (NICHT das KeyDown) für alle TextBoxen abonnieren (z.B. direkt im Designer oder in einer Schleife im Code) und dann e.Handled auf 'true' setzen:
C#-Quelltext
1: 2: 3: 4:
| private void textBox_KeyPress(object sender, KeyPressEventArgs e) { e.Handled = true; } |
Delete - So 02.10.11 09:19
Hallo Th69,
tausend dank, funktioniert super bei der Textbox :D, nur leider nicht bei dem numericUpDown Steuerelement :(
Was muss ich machen das es auch beim numericUpDown funktioniert ?
Liebe Grüße BleachRukia
Delete - So 02.10.11 09:24
Funktioniert leider doch nicht mit der Textbox, sobald auf true gesetzt wird kann man keine Texteingabe mehr machen :(
Habe aber eine alternative Lösung im KeyDown Event gefunden :D
C#-Quelltext
1: 2: 3: 4:
| if (e.KeyCode == Keys.Enter) { e.SuppressKeyPress = true; } |
Jetzt nur noch die Events kapseln und fertig :D
Liebe Grüße BleachRukia
jaenicke - So 02.10.11 12:04
BleachRukia hat folgendes geschrieben : |
| Funktioniert leider doch nicht mit der Textbox, sobald auf true gesetzt wird kann man keine Texteingabe mehr machen :( |
Du musst eben so wie du es jetzt machst abfragen, ob es die Entertaste ist. Dann funktioniert es auch. Das hatte
Ralf Jansen ja auch oben schon gepostet.
Wenn du alle Tastendrücke abbrichst, ist irgendwie klar, dass nix mehr im Textfeld ankommt, oder?
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!