Hilfe für einen Anfänger: Nur Ganz-Zahlige Eingabe im Textfeld

Lautsprecher

Erfahrenes Mitglied
Hallo,
momentan bin ich gerade dabei mir ein wenig VB anzueignen. Ich habe eine Form mit
Textfelder erstellt in welcher der Benutzer Eingaben tätigt.
In einem Feld soll er die Anzahl an Personen eingeben. Da es keine 1,5 Personen gibt muss ich ja die Eingabe auf Ganzzahlen Überprüfen, aber wie stelle ich das an?

Grüße
 
Wenn Du in eine Textbox etwas einfügst, führt jedes Zeichen zum Ereignis -textchanged-.
Leg dir doch eine Subroutine an, die bei dem Ereignis textchanged- aktiviert wird.

Du kannst dann das letzte eingegebene Zeichen heraussuchen mit:


Dim lstchar As String
lstchar = Microsoft.VisualBasic.Right(TextBox1.Text, 1)

' Beim initalisieren der Form wird die Subroutine schon mal durchlaufen. Damit hier nichts schief geht, sperren wir den weiteren Ablauf mit:
If Len(TextBox1.Text) = 0 Then Exit Sub

' Jetzt kannst du den Eingabebereich beschränken:
If lstchar < "0" Or lstchar > "9" Then
TextBox1.Text = Microsoft.VisualBasic.Left(TextBox1.Text, _
Len(TextBox1.Text) - 1)

' der Befehl oben ist tückisch, da er sofort die Subroutine neu aufruft ( es wird das Textfeld ja geändert). Damit im Textfeld der Eingabestrich immer hinten steht geben wir ein:
TextBox1.SelectionLength = 0
TextBox1.SelectionStart = Len(TextBox1.Text)

' Die Routine soll verlassen werden, wenn etwas anders als Zahlen eingeben werden:
Exit Sub
End If

Also bei mir funktioniert das so. Vielleicht weiß ja jemand eine elegantere Lösung!? ;)

Viel Spaß! MM
 
Zurück