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 Fragesteller 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

David67481 
Fragesteller
 24.02.2018, 18:13

Danke, hat funktioniert :D

0

Da fallen mir spontan zwei Möglichkeiten ein:

  1. Beim KeyPress-Event eine Überprüfung durchführen und ggf. ungültige Zeichen entfernen.
  2. 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.

David67481 
Fragesteller
 24.02.2018, 18:13

Danke :D

0

Ich mach mal Pseudocode:

OnKeyPress(Argument arg)
if(!"123456789".Contains(arg.key)){
arg.dismissInput()
}
David67481 
Fragesteller
 03.03.2018, 08:59

Dann würde Enter, Delete auch nicht funktionieren. Ich habe ja auch schon die hilfreichste Antwort vergeben.

0