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.566 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. |
sevISDN 1.0 Überwachung aller eingehender Anrufe! Die DLL erkennt alle über die CAPI-Schnittstelle eingehenden Anrufe und teilt Ihnen sogar mit, aus welchem Ortsbereich der Anruf stammt. Weitere Highlights: Online-Rufident, Erkennung der Anrufbehandlung u.v.m. Tipp des Monats April 2024 Skyfloy Chart von Microsoft und dazu noch gratis Tutorial für Microsoft Chart Controls für Microsoft .NET Framework 3.5 TOP! Unser Nr. 1 Neu! sevDataGrid 3.0 Mehrspaltige Listen, mit oder ohne DB-Anbindung. Autom. Sortierung, Editieren von Spalteninhalten oder das interaktive Hinzufügen von Datenzeilen sind ebenso möglich wie das Erstellen eines Web-Reports. |
||||||||||||||||
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. |