Textboxen werden oft verwendet um bestimmte Daten vom Benutzer zu bekommen. Hier ist es manchmal nützlich, nur bestimmte Eingaben zuzulassen. Um nur die Eingabe von Zahlen zuzulassen, können Sie die IsNumeric-Funktion verwenden: Private Sub TextBox1_TextChanged(ByVal sender As Object, _ ByVal e As System.EventArgs) Handles TextBox1.TextChanged If Not IsNumeric(TextBox1.Text) Then MessageBox.Show("Bitte nur Zahlen eingeben.") End If End Sub Die IsNumeric-Funktion lässt auch die Dezimaltrennzeichen Punkt und Komma zu und ist für Berechnungen geeignet. Sollen lediglich Buchstaben eingegeben werden, dann hilft diese Funktion weiter: Public Function IsLetter(ByVal Text As String) As Boolean For Each ch As Char In Text If Not Char.IsLetter(ch) Then Return False Next Return True End Function Der Aufruf könnte dann so erfolgen: Private Sub TextBox1_TextChanged(ByVal sender As Object, _ ByVal e As System.EventArgs) Handles TextBox1.TextChanged If Not IsLetter(TextBox1.Text) Then MessageBox.Show("Bitte nur Buchstaben eingeben.") End If End Sub Sehr flexibel ist die Abfrage der Eingabe über die Ascii-Codes. Da jedes Zeichen einen ganz bestimmten Ascii-Code hat, kann hier genau vorgegeben werden, welche Zeichen verwendet werden dürfen. Hier ein Beispiel: Private Sub TextBox1_KeyPress(ByVal sender As Object, _ ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress Select Case Asc(e.KeyChar) Case 48 To 57, 8, 32 ' Zahlen, Backspace und Space zulassen Case Else ' alle anderen Eingaben unterdrücken e.Handled = True End Select End Sub Eine Tabelle der Ascii-Codes finden Sie in unserer Rubrik Befehlsreferenz oder in der MSDN unter dem Stichwort "ASCII-Zeichensatz". Dann gibt es natürlich auch noch die Möglichkeit, alles in Groß- oder Kleinbuchstaben zu verwandeln. Hierzu im TextChanged-Ereignis einfach eine dieser Codezeilen einfügen: TextBox1.CharacterCasing = CharacterCasing.Upper ' nur Großbuchstaben TextBox1.CharacterCasing = CharacterCasing.Lower ' nur Kleinbuchstaben Diese Seite wurde bereits 47.777 mal aufgerufen. |
Neu! sevEingabe 3.0 ![]() Einfach stark! Ein einziges Eingabe-Control für alle benötigten Eingabetypen und -formate, inkl. Kalender-, Taschenrechner und Floskelfunktion, mehrspaltige ComboBox mit DB-Anbindung, ImageComboBox u.v.m. Buchempfehlung Tipp des Monats ![]() Manfred Bohn IndexOf für mehrdimensionale Arrays Die generische Funktion "IndexOf" ermittelt das erste Auftreten eines bestimmten Wertes in einem n-dimensionalen Array Access-Tools Vol.1 ![]() Über 400 MByte Inhalt Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB |
||||||||||
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein. |