vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#

http://www.vbarchiv.net
Rubrik: TextBox, ListBox & ComboBox07.01.09
Nur bestimmte Zeichen in Textbox zulassen (VB 2005, VB 2008)

VB-Version:  VB2005, VB2008
 Views:  33.917 

Summer-Special bei Tools & Components!
Gute Laune Sommer bei Tools & Components
Top Summer-Special - Sparen Sie teilweise bis zu 120,- EUR
Alle sev-Entwicklerkomponenten und Komplettpakete jetzt bis zu 25% reduziert!
zum Beispiel:
  • Developer CD nur 479,20 EUR statt 599,- EUR
  • sevDTA 3.0 nur 224,30 EUR statt 299,- EUR
  •  
  • vb@rchiv   Vol.6 nur 20,00 EUR statt 24,95 EUR
  • sevCoolbar 3.0 nur 55,20 EUR statt 69,- EUR
  • - Werbung -Und viele weitere Angebote           Aktionspreise nur für kurze Zeit gültig

    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

     
     
    Copyright ©2000-2017 vb@rchiv Dieter OtterAlle Rechte vorbehalten.


    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.