Die Eingabe in einer Textbox soll auf eine spezielle Bedingung überprüft werden (z.B. nur Zahlen) und der Benutzer ggf. auf einen Eingabefehler hingewiesen werden. Oft wird dies mit einer Überprüfung im KeyPress-Ereignis gelöst, bei der nur Zahlen eingegeben werden können. Der Anwender könnte aber verwirrt werden, wenn er einen Buchstaben drückt und nichts passiert in der Anwendung. Die elegante Lösung von .NET - die ErrorProvider Klasse! Für dieses Beispiel wird eine Form mit einer Textbox "txtIrgendwas" und einem Button "btnSchliessen" benötigt. ' Instanz der Klasse ErrorProvider erzeugen Private ErrTxtIrgendwas As New ErrorProvider Private Sub btnSchliessen_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles btnSchliessen.Click ' Object zerstören Me.ErrTxtIrgendwas = Nothing ' Form schliessen Me.Close() End Sub Private Sub txtIrgendwas_KeyPress(ByVal sender As Object, _ ByVal e As System.Windows.Forms.KeyPressEventArgs) _ Handles txtIrgendwas.KeyPress ' ErrorProvider einrichten ' ------------------------ ' Wo soll das Error Icon neben der Textbox angezeigt werden ErrTxtIrgendwas.SetIconAlignment(Me.txtIrgendwas, _ ErrorIconAlignment.MiddleRight) ' Abstand zwischen der Textbox und dem Error Icon in Pixel ErrTxtIrgendwas.SetIconPadding(Me.txtIrgendwas, 2) ' aktuelle Eingabe auf numerischen Wert überprüfen If IsNumeric(e.KeyChar) Then ' Ist i.O., Error löschen, Icon verschwindet ErrTxtIrgendwas.SetError(Me.txtIrgendwas, "") Else ' Falls nicht numerisch, Erroricon anzeigen, ' Text ausgeben, wenn Mauszeiger auf das Erroricon kommt ErrTxtIrgendwas.SetError(Me.txtIrgendwas, _ "Sie dürfen nur Zahlen eingeben") ' Zeichen unterdrücken e.Handled = True End If End Sub Im KeyPress-Ereignis der Textbox wird nun der Errorprovider eingerichtet:
Ein Error wird gesetzt, falls ein nicht-numerisches Zeichen eingegeben wird. In diesem Fall erscheint ein kleines Icon rechts neben der TextBox. Wollen Sie, dass das Erroricon immer blinkt? Kein Problem: Eigenschaft Blinkstyle des ErrorProviders auf AlwaysBlink setzen oder wenn es nie blinken soll auf NeverBlink setzen. Dieser Tipp wurde bereits 25.526 mal aufgerufen. Voriger Tipp | Zufälliger Tipp | Nächster Tipp
Anzeige
Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv Vol.6 (einschl. Beispielprojekt!) Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! - nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten - Symbol-Galerie mit mehr als 3.200 Icons im modernen Look Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m. |
vb@rchiv CD Vol.6 Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! Online-Update-Funktion Entwickler-Vollversionen u.v.m. Tipp des Monats März 2024 Dieter Otter UTF-8 Konvertierung von Dateien und Strings VB6 selbst verfügt über keine Funktionen zur UTF-8 Konvertierung von Daten. Mit Hilfe des ADODB.Stream-Objekts lassen sich diese fehlenden Funktionen aber schnell nachrüsten. sevZIP40 Pro DLL Zippen und Unzippen wie die Profis! Mit nur wenigen Zeilen Code statten Sie Ihre Anwendungen ab sofort mit schnellen Zip- und Unzip-Funktionen aus. Hierbei lassen sich entweder einzelnen Dateien oder auch gesamte Ordner zippen bzw. entpacken. |
||||||||||||||||
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. |