Überprüfung ob in Textbox nur Zahlen sind?
-
Hi,
Kennt von euch jemand den Befehl, mit dem man überprüfen kann, ob in einer Textbox nur Zahlen eingegeben wurden?
so solls dann etwa aussehen:
if (this.textbox1 == "nur Zahlen?")
-
also ich würde ein Event für jeden tasten druck machen und dann schauen ob es im ASCII Code von 48 bis 57 (das dürfte 0 -9 entsprechen) liegt.
Es geht aber glaube ich noch leichter irgendwie erinnere ich mich da gerade noch an etwas.
Ich schaue mal nach
-
Ohh das ging relativ schnell mit der Korrektur also hier die bessere Lösung,
wobei die auch nicht ganz anders ist:private void KeyPress(object sender, System.Windows.Forms.KeyEventArgs e) { //Lässt nur zahlen zu if(e.KeyChar < '0' || e.KeyChar > '9') { e.Handled = true; MessageBox.Show("Nur Zahlen"); } }
Nachzulesen in C# von Jürgen Bayer
Ich hoffe er nimmt mir es nicht übel
-
danke dir
-
bei keydown auf e.IsLetter prüfen.
gern geschehen
-
Servus,
e.IsLetter gibts bestimmt nur in .Net 2.0 oder?
private void KeyPress(object sender, System.Windows.Forms.KeyEventArgs e) { //Lässt nur zahlen zu if(e.KeyChar < '0' || e.KeyChar > '9') { e.Handled = true; MessageBox.Show("Nur Zahlen"); } }
mit der Methode gibts aber ein Problem.. man kann keine Backspacetaste benutzen um etwas zu löschen..
Benutz doch sowas in der Art...
// 8 = Backspace if (e.KeyChar != 8) { if (!char.IsNumber(e.KeyChar)) { MessageBoxOptions options = (MessageBoxOptions)0; MessageBox.Show("Dieses Feld erlaubt nur numerische Werte als Eingabe!", Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button2, options); e.Handled = true; } }
mfg
Hellsgore
-
Naja um die Backspace taste zu nutzen musst du glaube ich die if anweisung wie folgt ändern
if(e.KeyChar < '0' || e.KeyChar > '9' || e.KeyChar!=8)
die 8 müsste laut ASCII code für den Backspace stehen.
mfg Fabian
-
Oder so...
ist ja Pumpe... Hauptsache es geht :xmas2:mfg
Hellsgore