Entwickler-Ecke
WinForms - Nur vorgegebene Tasten in Textbox zulassen
Rassi - Mo 10.11.08 16:23
Titel: Nur vorgegebene Tasten in Textbox zulassen
Hallo.
Ich möchte eine Fließkommazahl in eine Textbox eingeben lassen.
hier möchte ich nur die Tasten 0 bis 9, das Komma und den Backspace zulassen.
Wie mache ich dass.
Ich habe es über das KeyPress-Event versucht. Hier habe ich die Tasten so gefiltert, dass ich bei ungültigen Zeichen in eine If-Anweisung komme. So und dann?
Hier würde ich gerne das eingegebene Zeichen löschen, aber wie?
Oder gibt es eine bessere Lösung um Fließkommazahlen einzugeben?
Gruß
Rasmus
JüTho - Mo 10.11.08 16:42
Titel: Re: Nur vorgegebene Tasten in Textbox zulassen
Hallo Rasmus,
Rassi hat folgendes geschrieben : |
| Ich habe es über das KeyPress-Event versucht. |
Passt schon. Je nach Prüfung der Tasten kämen auch KeyDown oder KeyUp in Frage.
Rassi hat folgendes geschrieben : |
Hier habe ich die Tasten so gefiltert, dass ich bei ungültigen Zeichen in eine If-Anweisung komme. So und dann?
Hier würde ich gerne das eingegebene Zeichen löschen, aber wie? |
KeyPressEventArgs bietet
Handled = true. Außerdem kann
KeyChar = #0 festgelegt werden.
Rassi hat folgendes geschrieben : |
| Oder gibt es eine bessere Lösung um Fließkommazahlen einzugeben? |
MaskedTextBox oder
NumericUpDown.
Jürgen
Rassi - Mo 10.11.08 17:12
Hallo.
Danke für die Antwort. Es hat mit Handled = true geklappt.
Ich war schon nahe dran, habe aber Handled = false gesetzt, und dann kann es ja nicht klappen. Wer lesen kann, ist klar im Vorteil.
Da ich noch mit VS2003 arbeite geht die Zuweisung zu KeyChar noch nicht.
MaskedTextBox gibts in VS2003 auch noch nicht, und NumericUpDown ist meines Wissens nur für ganze Zahlen.
Aber der Tip hat mir weiter geholfen. Vielen Dank.
Gruß
Rasmus
JüTho - Mo 10.11.08 17:16
Rassi hat folgendes geschrieben : |
Da ich noch mit VS2003 arbeite geht die Zuweisung zu KeyChar noch nicht.
MaskedTextBox gibts in VS2003 auch noch nicht, |
Stimmt, aber das ist ein wichtiger Gesichtspunkt zum Wechseln.
Rassi hat folgendes geschrieben : |
| und NumericUpDown ist meines Wissens nur für ganze Zahlen. |
Falsch, Du kannst DecimalPlaces benutzen. Aber es ist wegen der Up/Down-Funktionalität i.V.m. Increment nur begrenzt nützlich.
Jürgen
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!