Wie kann ich in Visual Basic erlauben, dass man in einer Textbox nur Nummern über 0 und keine anderen Zeichen eingeben darf?
3 Antworten
Vom Beitragsersteller als hilfreich ausgezeichnet
Private Sub Textbox1_KeyPress(sender As Object, e As KeyPressEventArgs) Handles Textbox1.KeyPress
Select Case Asc(e.KeyChar)
Case 48 To 57
' Zahlen zulassen
Case Else
' alle anderen Eingaben unterdrücken
e.Handled = True
End Select
End Sub
Von gutefrage auf Grund seines Wissens auf einem Fachgebiet ausgezeichneter Nutzer
programmieren
Da fallen mir spontan zwei Möglichkeiten ein:
- Beim KeyPress-Event eine Überprüfung durchführen und ggf. ungültige Zeichen entfernen.
- Beim Auswerten der Eingaben den Inhalt überprüfen und ggf. mit einer "Ungültige Eingabe"-Meldung abbrechen.
Du könntest aber auch statt einer TextBox ein NumericUpDown Steuerelement verwenden.
Ich mach mal Pseudocode:
OnKeyPress(Argument arg)
if(!"123456789".Contains(arg.key)){
arg.dismissInput()
}
Dann würde Enter, Delete auch nicht funktionieren. Ich habe ja auch schon die hilfreichste Antwort vergeben.