ErrorProvider ErrorProvider ErrorProvider ErrorProvider Class

Definizione

Viene fornita un'interfaccia utente per indicare che a un controllo su un form è associato un errore.Provides a user interface for indicating that a control on a form has an error associated with it.

public ref class ErrorProvider : System::ComponentModel::Component, System::ComponentModel::IExtenderProvider, System::ComponentModel::ISupportInitialize
[System.ComponentModel.ComplexBindingProperties("DataSource", "DataMember")]
public class ErrorProvider : System.ComponentModel.Component, System.ComponentModel.IExtenderProvider, System.ComponentModel.ISupportInitialize
type ErrorProvider = class
    inherit Component
    interface IExtenderProvider
    interface ISupportInitialize
Public Class ErrorProvider
Inherits Component
Implements IExtenderProvider, ISupportInitialize
Ereditarietà
Attributi
Implementazioni

Esempi

Esempio di codice seguente illustra l'uso di ErrorProvider classe per notificare all'utente di un errore di immissione dati.The following code example demonstrates using the ErrorProvider class to notify the user of a data entry error. Nell'esempio viene creata una Form che contiene un TextBox (controllo), un NumericUpDown (controllo) e un ComboBox controllare ogni convalida contenuto e un ErrorProvider per ogni controllo.The example creates a Form that contains a TextBox control, a NumericUpDown control, and a ComboBox control, each validating its content, and an ErrorProvider for each control. L'esempio imposta errore Opzioni icona usando la BlinkRate e BlinkStyle delle proprietà e il SetIconAlignment e SetIconPadding metodi.The example sets error icon options using the BlinkRate and BlinkStyle properties and the SetIconAlignment and SetIconPadding methods. Il SetError metodo viene chiamato con o senza testo errore appropriato durante un controllo Validated evento, a seconda del contenuto nel controllo.The SetError method is called with or without appropriate error text during a control's Validated event, depending upon the content in the control.

#using <System.dll>
#using <System.Windows.Forms.dll>
#using <System.Drawing.dll>

using namespace System;
using namespace System::Drawing;
using namespace System::Windows::Forms;
public ref class Form1: public System::Windows::Forms::Form
{
private:
   System::Windows::Forms::Label ^ label1;
   System::Windows::Forms::Label ^ label2;
   System::Windows::Forms::Label ^ label4;
   System::Windows::Forms::Label ^ label5;
   System::Windows::Forms::Label ^ label6;
   System::Windows::Forms::Label ^ label3;
   System::Windows::Forms::TextBox^ nameTextBox1;
   System::Windows::Forms::NumericUpDown^ ageUpDownPicker;
   System::Windows::Forms::ComboBox^ favoriteColorComboBox;
   System::Windows::Forms::ErrorProvider^ ageErrorProvider;
   System::Windows::Forms::ErrorProvider^ nameErrorProvider;
   System::Windows::Forms::ErrorProvider^ favoriteColorErrorProvider;

public:
   Form1()
   {
      this->nameTextBox1 = gcnew System::Windows::Forms::TextBox;
      this->label1 = gcnew System::Windows::Forms::Label;
      this->label2 = gcnew System::Windows::Forms::Label;
      this->ageUpDownPicker = gcnew System::Windows::Forms::NumericUpDown;
      this->favoriteColorComboBox = gcnew System::Windows::Forms::ComboBox;
      this->label3 = gcnew System::Windows::Forms::Label;
      this->label4 = gcnew System::Windows::Forms::Label;
      this->label5 = gcnew System::Windows::Forms::Label;
      this->label6 = gcnew System::Windows::Forms::Label;
      
      // Name Label
      this->label1->Location = System::Drawing::Point( 56, 32 );
      this->label1->Size = System::Drawing::Size( 40, 23 );
      this->label1->Text = "Name:";
      
      // Age Label
      this->label2->Location = System::Drawing::Point( 40, 64 );
      this->label2->Size = System::Drawing::Size( 56, 23 );
      this->label2->Text = "Age (3-5)";
      
      // Favorite Color Label
      this->label3->Location = System::Drawing::Point( 24, 96 );
      this->label3->Size = System::Drawing::Size( 80, 24 );
      this->label3->Text = "Favorite color";
      
      // ErrorBlinkStyle::AlwaysBlink Label
      this->label4->Location = System::Drawing::Point( 264, 32 );
      this->label4->Size = System::Drawing::Size( 160, 23 );
      this->label4->Text = "ErrorBlinkStyle::AlwaysBlink";
      
      // ErrorBlinkStyle::BlinkIfDifferentError Label
      this->label5->Location = System::Drawing::Point( 264, 64 );
      this->label5->Size = System::Drawing::Size( 200, 23 );
      this->label5->Text = "ErrorBlinkStyle::BlinkIfDifferentError";
      
      // ErrorBlinkStyle::NeverBlink Label
      this->label6->Location = System::Drawing::Point( 264, 96 );
      this->label6->Size = System::Drawing::Size( 200, 23 );
      this->label6->Text = "ErrorBlinkStyle::NeverBlink";
      
      // Name TextBox
      this->nameTextBox1->Location = System::Drawing::Point( 112, 32 );
      this->nameTextBox1->Size = System::Drawing::Size( 120, 20 );
      this->nameTextBox1->TabIndex = 0;
      this->nameTextBox1->Validated += gcnew System::EventHandler( this, &Form1::nameTextBox1_Validated );
      
      // Age NumericUpDown
      this->ageUpDownPicker->Location = System::Drawing::Point( 112, 64 );
      array<int>^temp0 = {150,0,0,0};
      this->ageUpDownPicker->Maximum = System::Decimal( temp0 );
      this->ageUpDownPicker->TabIndex = 4;
      this->ageUpDownPicker->Validated += gcnew System::EventHandler( this, &Form1::ageUpDownPicker_Validated );
      
      // Favorite Color ComboBox
      array<Object^>^temp1 = {"None","Red","Yellow","Green","Blue","Purple"};
      this->favoriteColorComboBox->Items->AddRange( temp1 );
      this->favoriteColorComboBox->Location = System::Drawing::Point( 112, 96 );
      this->favoriteColorComboBox->Size = System::Drawing::Size( 120, 21 );
      this->favoriteColorComboBox->TabIndex = 5;
      this->favoriteColorComboBox->Validated += gcnew System::EventHandler( this, &Form1::favoriteColorComboBox_Validated );
      
      // Set up how the form should be displayed and add the controls to the form.
      this->ClientSize = System::Drawing::Size( 464, 150 );
      array<System::Windows::Forms::Control^>^temp2 = {this->label6,this->label5,this->label4,this->label3,this->favoriteColorComboBox,this->ageUpDownPicker,this->label2,this->label1,this->nameTextBox1};
      this->Controls->AddRange( temp2 );
      this->Text = "Error Provider Example";
      
      // Create and set the ErrorProvider for each data entry control.
      nameErrorProvider = gcnew System::Windows::Forms::ErrorProvider;
      nameErrorProvider->SetIconAlignment( this->nameTextBox1, ErrorIconAlignment::MiddleRight );
      nameErrorProvider->SetIconPadding( this->nameTextBox1, 2 );
      nameErrorProvider->BlinkRate = 1000;
      nameErrorProvider->BlinkStyle = System::Windows::Forms::ErrorBlinkStyle::AlwaysBlink;
      ageErrorProvider = gcnew System::Windows::Forms::ErrorProvider;
      ageErrorProvider->SetIconAlignment( this->ageUpDownPicker, ErrorIconAlignment::MiddleRight );
      ageErrorProvider->SetIconPadding( this->ageUpDownPicker, 2 );
      ageErrorProvider->BlinkStyle = System::Windows::Forms::ErrorBlinkStyle::BlinkIfDifferentError;
      favoriteColorErrorProvider = gcnew System::Windows::Forms::ErrorProvider;
      favoriteColorErrorProvider->SetIconAlignment( this->favoriteColorComboBox, ErrorIconAlignment::MiddleRight );
      favoriteColorErrorProvider->SetIconPadding( this->favoriteColorComboBox, 2 );
      favoriteColorErrorProvider->BlinkRate = 1000;
      favoriteColorErrorProvider->BlinkStyle = System::Windows::Forms::ErrorBlinkStyle::NeverBlink;
   }


private:

   void nameTextBox1_Validated( Object^ /*sender*/, System::EventArgs^ /*e*/ )
   {
      if ( IsNameValid() )
      {
         
         // Clear the error, if any, in the error provider.
         nameErrorProvider->SetError( this->nameTextBox1, String.Empty );
      }
      else
      {
         
         // Set the error if the name is not valid.
         nameErrorProvider->SetError( this->nameTextBox1, "Name is required." );
      }
   }

   void ageUpDownPicker_Validated( Object^ /*sender*/, System::EventArgs^ /*e*/ )
   {
      if ( IsAgeTooYoung() )
      {
         
         // Set the error if the age is too young.
         ageErrorProvider->SetError( this->ageUpDownPicker, "Age not old enough" );
      }
      else
      if ( IsAgeTooOld() )
      {
         
         // Set the error if the age is too old.
         ageErrorProvider->SetError( this->ageUpDownPicker, "Age is too old" );
      }
      else
      {
         
         // Clear the error, if any, in the error provider.
         ageErrorProvider->SetError( this->ageUpDownPicker, String.Empty );
      }
   }

   void favoriteColorComboBox_Validated( Object^ /*sender*/, System::EventArgs^ /*e*/ )
   {
      if (  !IsColorValid() )
      {
         
         // Set the error if the favorite color is not valid.
         favoriteColorErrorProvider->SetError( this->favoriteColorComboBox, "Must select a color." );
      }
      else
      {
         
         // Clear the error, if any, in the error provider.
         favoriteColorErrorProvider->SetError( this->favoriteColorComboBox, String.Empty );
      }
   }


   // Functions to verify data.
   bool IsNameValid()
   {
      
      // Determine whether the text box contains a zero-length String*.
      return (nameTextBox1->Text->Length > 0);
   }

   bool IsAgeTooYoung()
   {
      
      // Determine whether the age value is less than three.
      return (ageUpDownPicker->Value < 3);
   }

   bool IsAgeTooOld()
   {
      
      // Determine whether the age value is greater than five.
      return (ageUpDownPicker->Value > 5);
   }

   bool IsColorValid()
   {
      
      // Determine whether the favorite color has a valid value.
      return ((favoriteColorComboBox->SelectedItem != 0) && ( !favoriteColorComboBox->SelectedItem->Equals( "None" )));
   }

};


[STAThread]
int main()
{
   Application::Run( gcnew Form1 );
}

using System;
using System.Drawing;
using System.Windows.Forms;

namespace ErrorProvider
{
    public class Form1 : System.Windows.Forms.Form
    {
        private System.Windows.Forms.Label label1;
        private System.Windows.Forms.Label label2;
        private System.Windows.Forms.Label label4;
        private System.Windows.Forms.Label label5;
        private System.Windows.Forms.Label label6;
        private System.Windows.Forms.Label label3;
        private System.Windows.Forms.TextBox nameTextBox1;
        private System.Windows.Forms.NumericUpDown ageUpDownPicker;
        private System.Windows.Forms.ComboBox favoriteColorComboBox;
        private System.Windows.Forms.ErrorProvider ageErrorProvider;
        private System.Windows.Forms.ErrorProvider nameErrorProvider;
        private System.Windows.Forms.ErrorProvider favoriteColorErrorProvider;

        [STAThread]
        static void Main() 
        {
            Application.Run(new Form1());
        }

        public Form1()
        {
            this.nameTextBox1 = new System.Windows.Forms.TextBox();
            this.label1 = new System.Windows.Forms.Label();
            this.label2 = new System.Windows.Forms.Label();
            this.ageUpDownPicker = new System.Windows.Forms.NumericUpDown();
            this.favoriteColorComboBox = new System.Windows.Forms.ComboBox();
            this.label3 = new System.Windows.Forms.Label();
            this.label4 = new System.Windows.Forms.Label();
            this.label5 = new System.Windows.Forms.Label();
            this.label6 = new System.Windows.Forms.Label();

            // Name Label
            this.label1.Location = new System.Drawing.Point(56, 32);
            this.label1.Size = new System.Drawing.Size(40, 23);
            this.label1.Text = "Name:";

            // Age Label
            this.label2.Location = new System.Drawing.Point(40, 64);
            this.label2.Size = new System.Drawing.Size(56, 23);
            this.label2.Text = "Age (3-5)";           

            // Favorite Color Label
            this.label3.Location = new System.Drawing.Point(24, 96);
            this.label3.Size = new System.Drawing.Size(80, 24);
            this.label3.Text = "Favorite color";

            // ErrorBlinkStyle.AlwaysBlink Label
            this.label4.Location = new System.Drawing.Point(264, 32);
            this.label4.Size = new System.Drawing.Size(160, 23);
            this.label4.Text = "ErrorBlinkStyle.AlwaysBlink";

            // ErrorBlinkStyle.BlinkIfDifferentError Label
            this.label5.Location = new System.Drawing.Point(264, 64);
            this.label5.Size = new System.Drawing.Size(200, 23);
            this.label5.Text = "ErrorBlinkStyle.BlinkIfDifferentError";

            // ErrorBlinkStyle.NeverBlink Label
            this.label6.Location = new System.Drawing.Point(264, 96);
            this.label6.Size = new System.Drawing.Size(200, 23);
            this.label6.Text = "ErrorBlinkStyle.NeverBlink";

            // Name TextBox
            this.nameTextBox1.Location = new System.Drawing.Point(112, 32);
            this.nameTextBox1.Size = new System.Drawing.Size(120, 20);
            this.nameTextBox1.TabIndex = 0;
            this.nameTextBox1.Validated += new System.EventHandler(this.nameTextBox1_Validated);

            // Age NumericUpDown
            this.ageUpDownPicker.Location = new System.Drawing.Point(112, 64);
            this.ageUpDownPicker.Maximum = new System.Decimal(new int[] {150,0,0,0});
            this.ageUpDownPicker.TabIndex = 4;
            this.ageUpDownPicker.Validated += new System.EventHandler(this.ageUpDownPicker_Validated);

            // Favorite Color ComboBox
            this.favoriteColorComboBox.Items.AddRange(new object[] {"None","Red","Yellow",
                                                                    "Green","Blue","Purple"});
            this.favoriteColorComboBox.Location = new System.Drawing.Point(112, 96);
            this.favoriteColorComboBox.Size = new System.Drawing.Size(120, 21);
            this.favoriteColorComboBox.TabIndex = 5;
            this.favoriteColorComboBox.Validated += new System.EventHandler(this.favoriteColorComboBox_Validated);

            // Set up how the form should be displayed and add the controls to the form.
            this.ClientSize = new System.Drawing.Size(464, 150);
            this.Controls.AddRange(new System.Windows.Forms.Control[] {
                                        this.label6,this.label5,this.label4,this.label3,
                                        this.favoriteColorComboBox,this.ageUpDownPicker,
                                        this.label2,this.label1,this.nameTextBox1});
            this.Text = "Error Provider Example";

            // Create and set the ErrorProvider for each data entry control.

            nameErrorProvider = new  System.Windows.Forms.ErrorProvider();
            nameErrorProvider.SetIconAlignment (this.nameTextBox1, ErrorIconAlignment.MiddleRight);
            nameErrorProvider.SetIconPadding (this.nameTextBox1, 2);
            nameErrorProvider.BlinkRate = 1000;
            nameErrorProvider.BlinkStyle = System.Windows.Forms.ErrorBlinkStyle.AlwaysBlink;

            ageErrorProvider = new  System.Windows.Forms.ErrorProvider();
            ageErrorProvider.SetIconAlignment (this.ageUpDownPicker, ErrorIconAlignment.MiddleRight);
            ageErrorProvider.SetIconPadding (this.ageUpDownPicker, 2);
            ageErrorProvider.BlinkStyle = System.Windows.Forms.ErrorBlinkStyle.BlinkIfDifferentError;

            favoriteColorErrorProvider = new  System.Windows.Forms.ErrorProvider();
            favoriteColorErrorProvider.SetIconAlignment (this.favoriteColorComboBox, ErrorIconAlignment.MiddleRight);
            favoriteColorErrorProvider.SetIconPadding (this.favoriteColorComboBox, 2);
            favoriteColorErrorProvider.BlinkRate = 1000;
            favoriteColorErrorProvider.BlinkStyle = System.Windows.Forms.ErrorBlinkStyle.NeverBlink;
        }
    
        private void nameTextBox1_Validated(object sender, System.EventArgs e)
        {
            if(IsNameValid())
            {
                // Clear the error, if any, in the error provider.
                nameErrorProvider.SetError(this.nameTextBox1, String.Empty);
            }
            else
            {
                // Set the error if the name is not valid.
                nameErrorProvider.SetError(this.nameTextBox1, "Name is required.");
            }
        }

        private void ageUpDownPicker_Validated(object sender, System.EventArgs e)
        {
            if (IsAgeTooYoung())
            {
                // Set the error if the age is too young.
                ageErrorProvider.SetError(this.ageUpDownPicker, "Age not old enough");
            }
            else if (IsAgeTooOld())
            {
                // Set the error if the age is too old.
                ageErrorProvider.SetError(this.ageUpDownPicker, "Age is too old");
            }
            else 
            {
                // Clear the error, if any, in the error provider.
                ageErrorProvider.SetError(this.ageUpDownPicker, String.Empty);
            }
        }

        private void favoriteColorComboBox_Validated(object sender, System.EventArgs e) 
        {
            if (!IsColorValid())
            {
                // Set the error if the favorite color is not valid.
                favoriteColorErrorProvider.SetError(this.favoriteColorComboBox, "Must select a color.");
            }
            else
            {
                // Clear the error, if any, in the error provider.
                favoriteColorErrorProvider.SetError(this.favoriteColorComboBox, String.Empty);
            }
        }

        // Functions to verify data.
        private bool IsNameValid() 
        {
            // Determine whether the text box contains a zero-length string.
            return (nameTextBox1.Text.Length > 0);
        }

        private bool IsAgeTooYoung() 
        {
            // Determine whether the age value is less than three.
            return (ageUpDownPicker.Value < 3);
        }

        private bool IsAgeTooOld() 
        {
            // Determine whether the age value is greater than five.
            return (ageUpDownPicker.Value > 5 );
        }

        private bool IsColorValid() 
        {
            // Determine whether the favorite color has a valid value.
            return ((favoriteColorComboBox.SelectedItem != null) &&
                (!favoriteColorComboBox.SelectedItem.ToString().Equals("None")));
        }
    }
}
Imports System
Imports System.Drawing
Imports System.Windows.Forms

Namespace ErrorProvider

    Public NotInheritable Class Form1
        Inherits System.Windows.Forms.Form
    
        Private label1 As System.Windows.Forms.Label
        Private label2 As System.Windows.Forms.Label
        Private label3 As System.Windows.Forms.Label      
        Private label4 As System.Windows.Forms.Label
        Private label5 As System.Windows.Forms.Label
        Private label6 As System.Windows.Forms.Label
        Friend WithEvents favoriteColorComboBox As System.Windows.Forms.ComboBox 
        Friend WithEvents nameTextBox1 As System.Windows.Forms.TextBox 
        Friend WithEvents ageUpDownPicker As System.Windows.Forms.NumericUpDown      
        Private ageErrorProvider As System.Windows.Forms.ErrorProvider 
        Private nameErrorProvider As System.Windows.Forms.ErrorProvider 
        Private favoriteColorErrorProvider As System.Windows.Forms.ErrorProvider
        
        <System.STAThread()>  _
        Public Shared Sub Main()
            System.Windows.Forms.Application.Run(New Form1())
        End Sub 'Main

        Public Sub New()
            
            Me.nameTextBox1 = New System.Windows.Forms.TextBox()
            Me.label1 = New System.Windows.Forms.Label()
            Me.label2 = New System.Windows.Forms.Label()
            Me.ageUpDownPicker = New System.Windows.Forms.NumericUpDown()
            Me.favoriteColorComboBox = New System.Windows.Forms.ComboBox()
            Me.label3 = New System.Windows.Forms.Label()
            Me.label4 = New System.Windows.Forms.Label()
            Me.label5 = New System.Windows.Forms.Label()
            Me.label6 = New System.Windows.Forms.Label()

            ' Name Label
            Me.label1.Location = New System.Drawing.Point(56, 32)
            Me.label1.Size = New System.Drawing.Size(40, 23)
            Me.label1.Text = "Name:"

            ' Age Label
            Me.label2.Location = New System.Drawing.Point(40, 64)
            Me.label2.Size = New System.Drawing.Size(56, 23)
            Me.label2.Text = "Age (3-5)"

            ' Favorite Color Label
            Me.label3.Location = New System.Drawing.Point(24, 96)
            Me.label3.Size = New System.Drawing.Size(80, 24)
            Me.label3.Text = "Favorite color"

            ' ErrorBlinkStyle.AlwaysBlink Label
            Me.label4.Location = New System.Drawing.Point(264, 32)
            Me.label4.Size = New System.Drawing.Size(160, 23)
            Me.label4.Text = "ErrorBlinkStyle.AlwaysBlink"

            ' ErrorBlinkStyle.BlinkIfDifferentError Label
            Me.label5.Location = New System.Drawing.Point(264, 64)
            Me.label5.Size = New System.Drawing.Size(200, 23)
            Me.label5.Text = "ErrorBlinkStyle.BlinkIfDifferentError"

            ' ErrorBlinkStyle.NeverBlink Label
            Me.label6.Location = New System.Drawing.Point(264, 96)
            Me.label6.Size = New System.Drawing.Size(200, 23)
            Me.label6.Text = "ErrorBlinkStyle.NeverBlink"

            ' Name TextBox
            Me.nameTextBox1.Location = New System.Drawing.Point(112, 32)
            Me.nameTextBox1.Size = New System.Drawing.Size(120, 20)
            Me.nameTextBox1.TabIndex = 0

            ' Age NumericUpDown
            Me.ageUpDownPicker.Location = New System.Drawing.Point(112, 64)
            Me.ageUpDownPicker.Maximum = New System.Decimal(New Integer() {150, 0, 0, 0})
            Me.ageUpDownPicker.TabIndex = 4

            ' Favorite Color ComboBox
            Me.favoriteColorComboBox.Items.AddRange(New Object() {"None", "Red", "Yellow", _
                                                                                    "Green", "Blue", "Purple"})
            Me.favoriteColorComboBox.Location = New System.Drawing.Point(112, 96)
            Me.favoriteColorComboBox.Size = New System.Drawing.Size(120, 21)
            Me.favoriteColorComboBox.TabIndex = 5

            ' Set up how the form should be displayed and add the controls to the form.
            Me.ClientSize = New System.Drawing.Size(464, 150)
            Me.Controls.AddRange(New System.Windows.Forms.Control() {Me.label6, Me.label5, Me.label4, _
                                          Me.label3, Me.favoriteColorComboBox, Me.ageUpDownPicker, Me.label2, _
                                          Me.label1, Me.nameTextBox1})

            Me.Text = "Error Provider Example"

            ' Create and set the ErrorProvider for each data entry control.
     
            nameErrorProvider = New System.Windows.Forms.ErrorProvider()
            nameErrorProvider.SetIconAlignment(Me.nameTextBox1, ErrorIconAlignment.MiddleRight)
            nameErrorProvider.SetIconPadding(Me.nameTextBox1, 2)
            nameErrorProvider.BlinkRate = 1000
            nameErrorProvider.BlinkStyle = System.Windows.Forms.ErrorBlinkStyle.AlwaysBlink
            
            ageErrorProvider = New System.Windows.Forms.ErrorProvider()
            ageErrorProvider.SetIconAlignment(Me.ageUpDownPicker, ErrorIconAlignment.MiddleRight)
            ageErrorProvider.SetIconPadding(Me.ageUpDownPicker, 2)
            ageErrorProvider.BlinkStyle = System.Windows.Forms.ErrorBlinkStyle.BlinkIfDifferentError
            
            favoriteColorErrorProvider = New System.Windows.Forms.ErrorProvider()
            favoriteColorErrorProvider.SetIconAlignment(Me.favoriteColorComboBox, ErrorIconAlignment.MiddleRight)
            favoriteColorErrorProvider.SetIconPadding(Me.favoriteColorComboBox, 2)
            favoriteColorErrorProvider.BlinkRate = 1000
            favoriteColorErrorProvider.BlinkStyle = System.Windows.Forms.ErrorBlinkStyle.NeverBlink
        End Sub 'New
 
        Private Sub nameTextBox1_Validated(sender As Object, e As System.EventArgs) Handles nameTextBox1.Validated
            If IsNameValid() Then
                ' Clear the error, if any, in the error provider.
                nameErrorProvider.SetError(Me.nameTextBox1, String.Empty)
            Else
                ' Set the error if the name is not valid.
                nameErrorProvider.SetError(Me.nameTextBox1, "Name is required.")
            End If 
        End Sub 
              
        Private Sub ageUpDownPicker_Validated(sender As Object, e As System.EventArgs) Handles ageUpDownPicker.Validated
            If IsAgeTooYoung() Then
                ' Set the error if the age is too young.
                ageErrorProvider.SetError(Me.ageUpDownPicker, "Age not old enough")
            ElseIf IsAgeTooOld() Then
                ' Set the error if the age is too old.
                ageErrorProvider.SetError(Me.ageUpDownPicker, "Age is too old")
            Else
                ' Clear the error, if any, in the error provider.
                ageErrorProvider.SetError(Me.ageUpDownPicker, String.Empty)
            End If
        End Sub
         
        Private Sub favoriteColorComboBox_Validated(sender As Object, e As System.EventArgs) Handles favoriteColorComboBox.Validated
            If Not IsColorValid() Then
                ' Set the error if the favorite color is not valid.
                favoriteColorErrorProvider.SetError(Me.favoriteColorComboBox, "Must select a color.")            
            Else
                ' Clear the error, if any, in the error provider.
                favoriteColorErrorProvider.SetError(Me.favoriteColorComboBox, String.Empty)
            End If
        End Sub 

        ' Functions to verify data.
        Private Function IsNameValid() As Boolean
            ' Determine whether the text box contains a zero-length string.
            Return nameTextBox1.Text.Length > 0
        End Function 

        Private Function IsAgeTooYoung() As Boolean
            ' Determine whether the age value is less than three.
            Return ageUpDownPicker.Value < 3
        End Function 
        
        
        Private Function IsAgeTooOld() As Boolean
            ' Determine whether the age value is greater than five.
            Return ageUpDownPicker.Value > 5
        End Function 
                
        Private Function IsColorValid() As Boolean
            ' Determine whether the favorite color has a valid value.
            If (favoriteColorComboBox.SelectedItem IsNot Nothing) Then
                    If Not(favoriteColorComboBox.SelectedItem.ToString().Equals("None")) Then
                        Return true 
                    End If
            End If
            Return false
        End Function 

    End Class 'Form1
End Namespace 'ErrorProvider 

Esempio di codice seguente viene illustrato come utilizzare il ErrorProvider con un DataSource e DataMember per indicare un errore nei dati all'utente.The following code example shows how to use the ErrorProvider with a DataSource and DataMember to indicate a data error to the user.

private:
   void InitializeComponent()
   {
      
      // Standard control setup.
      //....
      // You set the DataSource to a data set, and the DataMember to a table.
      errorProvider1->DataSource = dataSet1;
      errorProvider1->DataMember = dataTable1->TableName;
      errorProvider1->ContainerControl = this;
      errorProvider1->BlinkRate = 200;
      
      //...
      // Since the ErrorProvider control does not have a visible component,
      // it does not need to be added to the form. 
   }


private:
   void buttonSave_Click( Object^ /*sender*/, System::EventArgs^ /*e*/ )
   {
      
      // Checks for a bad post code.
      DataTable^ CustomersTable;
      CustomersTable = dataSet1->Tables[ "Customers" ];
      System::Collections::IEnumerator^ myEnum = (CustomersTable->Rows)->GetEnumerator();
      while ( myEnum->MoveNext() )
      {
         DataRow^ row = safe_cast<DataRow^>(myEnum->Current);
         if ( Convert::ToBoolean( row[ "PostalCodeIsNull" ] ) )
         {
            row->RowError = "The Customer details contain errors";
            row->SetColumnError( "PostalCode", "Postal Code required" );
         }
      }
   }
private void InitializeComponent()
 {
     // Standard control setup.
     //....
     // You set the DataSource to a data set, and the DataMember to a table.
     errorProvider1.DataSource = dataSet1 ;
     errorProvider1.DataMember = dataTable1.TableName ;
     errorProvider1.ContainerControl = this ;
     errorProvider1.BlinkRate = 200 ;
     //...
     // Since the ErrorProvider control does not have a visible component,
     // it does not need to be added to the form. 
 }
 
 private void buttonSave_Click(object sender, System.EventArgs e)
 {
     // Checks for a bad post code.
     DataTable CustomersTable;
     CustomersTable = dataSet1.Tables["Customers"];
     foreach (DataRow row in (CustomersTable.Rows)) 
	 {
         if (Convert.ToBoolean(row["PostalCodeIsNull"])) 
         {
             row.RowError="The Customer details contain errors";
             row.SetColumnError("PostalCode", "Postal Code required");
         } 
     } 
 }

Private Sub InitializeComponent()
    ' Standard control setup.
    '....                  
    ' You set the DataSource to a data set, and the DataMember to a table.
    errorProvider1.DataSource = dataSet1
    errorProvider1.DataMember = dataTable1.TableName
    errorProvider1.ContainerControl = Me
    errorProvider1.BlinkRate = 200
End Sub 'InitializeComponent
 '...
' Since the ErrorProvider control does not have a visible component,
' it does not need to be added to the form. 

Private Sub buttonSave_Click(ByVal sender As Object, ByVal e As System.EventArgs)
    ' Checks for a bad post code.
    Dim CustomersTable As DataTable
    CustomersTable = dataSet1.Tables("Customers")
    Dim row As DataRow
    For Each row In CustomersTable.Rows
        If Convert.ToBoolean(row("PostalCodeIsNull")) Then
            row.RowError = "The Customer details contain errors"
            row.SetColumnError("PostalCode", "Postal Code required")
        End If
    Next row
End Sub 'buttonSave_Click

Commenti

ErrorProvider presenta un meccanismo semplice per indicare all'utente finale che un controllo in un form è associato un errore.ErrorProvider presents a simple mechanism for indicating to the end user that a control on a form has an error associated with it. Se si specifica una stringa di descrizione di errore per il controllo, viene visualizzata un'icona accanto al controllo.If an error description string is specified for the control, an icon appears next to the control. L'icona lampeggia nel modo specificato da BlinkStyle, alla tariffa specificata da BlinkRate.The icon flashes in the manner specified by BlinkStyle, at the rate specified by BlinkRate. Quando il mouse passa sopra l'icona, viene visualizzata una descrizione comando che mostra la stringa di descrizione di errore.When the mouse hovers over the icon, a ToolTip appears showing the error description string.

In genere, si usa ErrorProvider in associazione con i controlli con associazione a dati.Typically, you use ErrorProvider in association with data-bound controls. Quando si usa ErrorProvider con i controlli con associazione a dati, è necessario specificare il ContainerControl, nel costruttore oppure impostando il ContainerControl proprietà.When using ErrorProvider with data-bound controls, you must specify the ContainerControl, either in the constructor or by setting the ContainerControl property.

Nota

Il ErrorProvider componente non fornisce supporto incorporato per i client di accessibilità.The ErrorProvider component does not provide built-in support for accessibility clients. Per rendere accessibile l'applicazione quando si usa questo componente, è necessario fornire un meccanismo di commenti e suggerimenti aggiuntivi, accessibile.To make your application accessible when using this component, you must provide an additional, accessible feedback mechanism.

Costruttori

ErrorProvider() ErrorProvider() ErrorProvider() ErrorProvider()

Inizializza una nuova istanza di ErrorProvider classe e inizializza le impostazioni predefinite per BlinkRate, BlinkStylee il Icon.Initializes a new instance of the ErrorProvider class and initializes the default settings for BlinkRate, BlinkStyle, and the Icon.

ErrorProvider(ContainerControl) ErrorProvider(ContainerControl) ErrorProvider(ContainerControl) ErrorProvider(ContainerControl)

Inizializza una nuova istanza di ErrorProvider classe associata a un contenitore.Initializes a new instance of the ErrorProvider class attached to a container.

ErrorProvider(IContainer) ErrorProvider(IContainer) ErrorProvider(IContainer) ErrorProvider(IContainer)

Inizializza una nuova istanza di ErrorProvider classe associata a un IContainer implementazione.Initializes a new instance of the ErrorProvider class attached to an IContainer implementation.

Proprietà

BlinkRate BlinkRate BlinkRate BlinkRate

Ottiene o imposta la frequenza di lampeggiamento dell'icona di errore.Gets or sets the rate at which the error icon flashes.

BlinkStyle BlinkStyle BlinkStyle BlinkStyle

Ottiene o imposta un valore che indica quando l'icona di errore lampeggia.Gets or sets a value indicating when the error icon flashes.

CanRaiseEvents CanRaiseEvents CanRaiseEvents CanRaiseEvents

Ottiene un valore che indica se il componente può generare un evento.Gets a value indicating whether the component can raise an event.

(Inherited from Component)
Container Container Container Container

Ottiene il IContainer che contiene il Component.Gets the IContainer that contains the Component.

(Inherited from Component)
ContainerControl ContainerControl ContainerControl ContainerControl

Ottiene o imposta un valore che indica al controllo padre per questo ErrorProvider.Gets or sets a value indicating the parent control for this ErrorProvider.

DataMember DataMember DataMember DataMember

Ottiene o imposta l'elenco all'interno di un'origine dati da controllare.Gets or sets the list within a data source to monitor.

DataSource DataSource DataSource DataSource

Ottiene o imposta l'origine dati che il ErrorProvider monitoraggi.Gets or sets the data source that the ErrorProvider monitors.

DesignMode DesignMode DesignMode DesignMode

Ottiene un valore che indica se il Component si trova in modalità progettazione.Gets a value that indicates whether the Component is currently in design mode.

(Inherited from Component)
Events Events Events Events

Ottiene l'elenco dei gestori eventi allegati a questo Component.Gets the list of event handlers that are attached to this Component.

(Inherited from Component)
Icon Icon Icon Icon

Ottiene o imposta il Icon che viene visualizzato accanto a un controllo quando una stringa di descrizione di errore è stata impostata per il controllo.Gets or sets the Icon that is displayed next to a control when an error description string has been set for the control.

RightToLeft RightToLeft RightToLeft RightToLeft

Ottiene o imposta un valore che indica se il componente viene usato in impostazioni locali che supportano la scrittura da destra a sinistra.Gets or sets a value that indicates whether the component is used in a locale that supports right-to-left fonts.

Site Site Site Site

Ottiene o imposta l'oggetto ISite di Component.Gets or sets the ISite of the Component.

Tag Tag Tag Tag

Ottiene o imposta un oggetto che contiene i dati relativi al componente.Gets or sets an object that contains data about the component.

Metodi

BindToDataAndErrors(Object, String) BindToDataAndErrors(Object, String) BindToDataAndErrors(Object, String) BindToDataAndErrors(Object, String)

Fornisce un metodo per impostare entrambi i DataSource e DataMember in fase di esecuzione.Provides a method to set both the DataSource and DataMember at run time.

CanExtend(Object) CanExtend(Object) CanExtend(Object) CanExtend(Object)

Ottiene un valore che indica se è possibile estendere un controllo.Gets a value indicating whether a control can be extended.

Clear() Clear() Clear() Clear()

Cancella tutte le impostazioni associate a questo componente.Clears all settings associated with this component.

CreateObjRef(Type) CreateObjRef(Type) CreateObjRef(Type) CreateObjRef(Type)

Consente di creare un oggetto che contiene tutte le informazioni rilevanti necessarie per la generazione del proxy utilizzato per effettuare la comunicazione con un oggetto remoto.Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object.

(Inherited from MarshalByRefObject)
Dispose() Dispose() Dispose() Dispose()

Rilascia tutte le risorse usate da Component.Releases all resources used by the Component.

(Inherited from Component)
Dispose(Boolean) Dispose(Boolean) Dispose(Boolean) Dispose(Boolean)

Rilascia le risorse non gestite usate da Component e, facoltativamente, le risorse gestite.Releases the unmanaged resources used by the Component and optionally releases the managed resources.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetError(Control) GetError(Control) GetError(Control) GetError(Control)

Restituisce la stringa di descrizione dell'errore corrente per il controllo specificato.Returns the current error description string for the specified control.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Funge da funzione hash predefinita.Serves as the default hash function.

(Inherited from Object)
GetIconAlignment(Control) GetIconAlignment(Control) GetIconAlignment(Control) GetIconAlignment(Control)

Ottiene un valore che indica dove deve essere posizionata l'icona di errore in relazione al controllo.Gets a value indicating where the error icon should be placed in relation to the control.

GetIconPadding(Control) GetIconPadding(Control) GetIconPadding(Control) GetIconPadding(Control)

Restituisce la quantità di spazio aggiuntivo accanto all'icona di errore.Returns the amount of extra space to leave next to the error icon.

GetLifetimeService() GetLifetimeService() GetLifetimeService() GetLifetimeService()

Consente di recuperare l'oggetto servizio di durata corrente per controllare i criteri di durata per l'istanza.Retrieves the current lifetime service object that controls the lifetime policy for this instance.

(Inherited from MarshalByRefObject)
GetService(Type) GetService(Type) GetService(Type) GetService(Type)

Consente di restituire un oggetto che rappresenta un servizio fornito da Component o dal relativo Container.Returns an object that represents a service provided by the Component or by its Container.

(Inherited from Component)
GetType() GetType() GetType() GetType()

Ottiene l'oggetto Type dell'istanza corrente.Gets the Type of the current instance.

(Inherited from Object)
InitializeLifetimeService() InitializeLifetimeService() InitializeLifetimeService() InitializeLifetimeService()

Ottiene un oggetto servizio di durata per controllare i criteri di durata per questa istanza.Obtains a lifetime service object to control the lifetime policy for this instance.

(Inherited from MarshalByRefObject)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.Creates a shallow copy of the current Object.

(Inherited from Object)
MemberwiseClone(Boolean) MemberwiseClone(Boolean) MemberwiseClone(Boolean) MemberwiseClone(Boolean)

Crea una copia dei riferimenti dell'oggetto MarshalByRefObject corrente.Creates a shallow copy of the current MarshalByRefObject object.

(Inherited from MarshalByRefObject)
OnRightToLeftChanged(EventArgs) OnRightToLeftChanged(EventArgs) OnRightToLeftChanged(EventArgs) OnRightToLeftChanged(EventArgs)

Genera l'evento RightToLeftChanged.Raises the RightToLeftChanged event.

SetError(Control, String) SetError(Control, String) SetError(Control, String) SetError(Control, String)

Imposta la stringa di descrizione dell'errore per il controllo specificato.Sets the error description string for the specified control.

SetIconAlignment(Control, ErrorIconAlignment) SetIconAlignment(Control, ErrorIconAlignment) SetIconAlignment(Control, ErrorIconAlignment) SetIconAlignment(Control, ErrorIconAlignment)

Imposta la posizione dell'icona di errore in relazione al controllo.Sets the location where the error icon should be placed in relation to the control.

SetIconPadding(Control, Int32) SetIconPadding(Control, Int32) SetIconPadding(Control, Int32) SetIconPadding(Control, Int32)

Imposta la quantità di spazio aggiuntivo da lasciare tra il controllo specificato e l'icona di errore.Sets the amount of extra space to leave between the specified control and the error icon.

ToString() ToString() ToString() ToString()

Restituisce un oggetto String che contiene il nome dell'eventuale oggetto Component.Returns a String containing the name of the Component, if any. Questo metodo non deve essere sottoposto a override.This method should not be overridden.

(Inherited from Component)
UpdateBinding() UpdateBinding() UpdateBinding() UpdateBinding()

Fornisce un metodo per aggiornare le associazioni tra il DataSource, DataMembere il testo dell'errore.Provides a method to update the bindings of the DataSource, DataMember, and the error text.

Eventi

Disposed Disposed Disposed Disposed

Si verifica quando il componente viene eliminato da una chiamata al metodo Dispose().Occurs when the component is disposed by a call to the Dispose() method.

(Inherited from Component)
RightToLeftChanged RightToLeftChanged RightToLeftChanged RightToLeftChanged

Si verifica quando il RightToLeft valore della proprietà.Occurs when the RightToLeft property changes value.

Implementazioni dell'interfaccia esplicita

ISupportInitialize.BeginInit() ISupportInitialize.BeginInit() ISupportInitialize.BeginInit() ISupportInitialize.BeginInit()

Segnala all'oggetto l'avvio dell'inizializzazione.Signals the object that initialization is starting.

ISupportInitialize.EndInit() ISupportInitialize.EndInit() ISupportInitialize.EndInit() ISupportInitialize.EndInit()

Segnala all'oggetto che l'inizializzazione è completa.Signals the object that initialization is complete.

Si applica a