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.741 mal aufgerufen.
Anzeige
![]() ![]() ![]() (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 ![]() Dieter Otter Beliebige Zeichen am Anfang und Ende eines Strings entfernen Mit der Trim-Funktion lassen sich nicht nur Leerzeichen, sondern bei Bedarf auch beliebige Zeichen entfernen. sevOutBar 4.0 ![]() Vertikale Menüleisten á la Outlook Erstellen von Outlook ähnlichen Benutzer- interfaces - mit beliebig vielen Gruppen und Symboleinträgen. Moderner OfficeXP-Style mit Farbverläufen, Balloon-Tips, u.v.m. |
||||||||||||||||
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. |