Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles / Languages / VB

Error Provider in .NET Framework 2.0

2.23/5 (4 votes)
23 Feb 2008CPOL2 min read 1  
The Windows Forms ErrorProvider component is used to show the user in a non-intrusive way that something is wrong. It is typically used in conjunction with validating user input on a form, or displaying errors within a dataset.

Introduction

Have you ever found it annoying when you keep getting the error message box for invalid inputs on Windows Forms. Now the days are gone when we can use the ErrorProvider component class from .NET 2.0 which allows you to validate the forms without any message box. Instead, an error icon blinks where the error has occurred.

ErrorProvider Component Overview

The Windows Forms ErrorProvider component is used to validate user input on a form or control. It is typically used in conjunction with validating user input on a form, or displaying errors within a dataset. An error provider is a better alternative than displaying an error message in a message box, because once a message box is dismissed, the error message is no longer visible. This component displays an error icon next to the relevant control, such as a textbox; when the user positions the mouse pointer over the error icon, a ToolTip appears, showing the error message string.

Using the Component

To use this component, you need to drag and drop the ErrorProvider component from the toolbox or add the control at runtime:

VB.NET
    '' Create an Instance of the Control ErrorProvider at Runtime
    Private Num_ErrorProviders As New ErrorProvider()
    Private Null_ErrorProviders As New ErrorProvider()
'' textbox
Private WithEvents Num_Textbox As New TextBox
Private WithEvents Null_Textbox As New TextBox

Once the component is placed or created at runtime, we need to validate a control. For that, we will take two textbox controls, one to validate whether the input of the textbox is numeric or not and the other to validate whether the textbox is empty or null.

To validate a textbox, you need to use the SetError method of the ErrorProvider class:

VB.NET
''To set error for the control
Num_ErrorProviders.SetError(Num_Textbox, "Not a numeric value.")

To do so, you need to use the validating event or validated event of the textbox. The difference between these two is that the validated event is fired when the textbox loses its focus and it's that point of time when the textbox gets validated. Now let's see how we use it to do validation:

VB.NET
'' Validating the Num_Textbox
Private Sub Num_Textbox_Validating(ByVal Sender As Object, _
         ByVal e As System.EventArgs) Handles Num_Textbox.Validating
             If Not IsNumeric(Num_Textbox.Text) Then
                    Num_ErrorProviders.SetError(Num_Textbox, "Not a numeric value.")
             Else
                    ' Clear the error.
                    Num_ErrorProviders.SetError(Num_TextBox, "")
             End If
End Sub

'' Validate the Null_Textbox
Private Sub Null_Textbox_Validated(ByVal Sender As Object, _
         ByVal e As System.EventArgs) Handles Null_Textbox.Validated
             If String.IsNullOrEmpty(Null_Textbox.Text) Then
                     Null_ErrorProviders.SetError(Null_Textbox, "Textbox is Empty.")
             Else
                     ' Clear the error.
                     Null_ErrorProviders.SetError(Null_TextBox, "")
             End If
End Sub

If any validating is done, a blink icon will appear next to the textbox.

Points of Interest

You use this control in such a way that you can get the valid data from the user.

History

  • 23rd February, 2008: Initial post

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)