TheDeveloperBlog.com

Home | Contact Us

C-Sharp | Java | Python | Swift | GO | WPF | Ruby | Scala | F# | JavaScript | SQL | PHP | Angular | HTML

C# ErrorProvider Control: Windows Forms

This C# article demonstrates the ErrorProvider control in Windows Forms.

ErrorProvider simplifies and streamlines error presentation.

It is an abstraction that shows errors on your form. It does not require a lot of work on your part. This is its key feature.

Start. To start, please open the Toolbox pane in Visual Studio. Find and double-click on the ErrorProvider icon. This will insert the errorprovider1 into the tray at the bottom of the screen.

Next: You can change properties on the ErrorProvider instance by right-clicking on it and selecting Properties.

Note: Some properties and methods on the ErrorProvider are detailed in the following sections.

Example. We start with the basics. We must activate the ErrorProvider in our Windows Forms program. The ErrorProvider won't initiate any actions. It will be invoked through other event handlers in the program.

In the example, we have a TextBox control and a TextChanged event handler on that control. When the TextChanged event handler is triggered, we check to see if a digit character is present.

And: If one is not, we activate an error through the ErrorProvider. Otherwise we clear the ErrorProvider.

Example that uses ErrorProvider: C#

using System;
using System.Windows.Forms;

namespace WindowsFormsApplication8
{
    public partial class Form1 : Form
    {
	public Form1()
	{
	    InitializeComponent();
	}

	private void textBox1_TextChanged(object sender, EventArgs e)
	{
	    // Determine if the TextBox has a digit character.
	    string text = textBox1.Text;
	    bool hasDigit = false;
	    foreach (char letter in text)
	    {
		if (char.IsDigit(letter))
		{
		    hasDigit = true;
		    break;
		}
	    }
	    // Call SetError or Clear on the ErrorProvider.
	    if (!hasDigit)
	    {
		errorProvider1.SetError(textBox1, "Needs to contain a digit");
	    }
	    else
	    {
		errorProvider1.Clear();
	    }
	}
    }
}

Using SetError method. The first argument of SetError is the identifier of the TextBox control. The second argument is the error message itself. The first argument tells the ErrorProvider where to draw the error sign.

Using Clear method. It is also important that you use the Clear method when appropriate. If a digit was located, we simply remove the error sign from the user interface. This instantly tells our user that no error is still present.

BlinkStyle. The ErrorProvider has two properties related to blinking. The BlinkRate indicates how many milliseconds each blink is apart. And the BlinkStyle lets you disable or enable blinking in general.

Note: Typically, for less complicated user interfaces, blinking isn't necessary because the ErrorProvider will be easy to see.

Tip: For more complex interfaces, the blinking could draw attention to the error. Setting BlinkStyle to NeverBlink is appropriate.

Dialogs. A frustrating experience for a computer user is getting dialog boxes that demand your entire attention. The ErrorProvider alleviates this frustration. Also, the ErrorProvider can alert the user to more than one error at a time.

And: Having to dismiss more than one dialog is extremely obnoxious to your busy users.

 

Summary. The ErrorProvider control in the Windows Forms framework provides a simple-to-understand abstraction for presenting errors on input. Importantly, it reduces the frustration associated with dialog window use.

Also: The ErrorProvider can streamline error corrections by presenting many errors at once.


Related Links

Adjectives Ado Ai Android Angular Antonyms Apache Articles Asp Autocad Automata Aws Azure Basic Binary Bitcoin Blockchain C Cassandra Change Coa Computer Control Cpp Create Creating C-Sharp Cyber Daa Data Dbms Deletion Devops Difference Discrete Es6 Ethical Examples Features Firebase Flutter Fs Git Go Hbase History Hive Hiveql How Html Idioms Insertion Installing Ios Java Joomla Js Kafka Kali Laravel Logical Machine Matlab Matrix Mongodb Mysql One Opencv Oracle Ordering Os Pandas Php Pig Pl Postgresql Powershell Prepositions Program Python React Ruby Scala Selecting Selenium Sentence Seo Sharepoint Software Spellings Spotting Spring Sql Sqlite Sqoop Svn Swift Synonyms Talend Testng Types Uml Unity Vbnet Verbal Webdriver What Wpf