ErrorProvider Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Proporciona una interfaz de usuario para indicar que un control de un formulario tiene un error asociado al mismo.
public ref class ErrorProvider : System::ComponentModel::Component, System::ComponentModel::IExtenderProvider
public ref class ErrorProvider : System::ComponentModel::Component, System::ComponentModel::IExtenderProvider, System::ComponentModel::ISupportInitialize
public class ErrorProvider : System.ComponentModel.Component, System.ComponentModel.IExtenderProvider
[System.ComponentModel.ComplexBindingProperties("DataSource", "DataMember")]
public class ErrorProvider : System.ComponentModel.Component, System.ComponentModel.IExtenderProvider, System.ComponentModel.ISupportInitialize
type ErrorProvider = class
inherit Component
interface IExtenderProvider
[<System.ComponentModel.ComplexBindingProperties("DataSource", "DataMember")>]
type ErrorProvider = class
inherit Component
interface IExtenderProvider
interface ISupportInitialize
Public Class ErrorProvider
Inherits Component
Implements IExtenderProvider
Public Class ErrorProvider
Inherits Component
Implements IExtenderProvider, ISupportInitialize
- Herencia
- Atributos
- Implementaciones
Ejemplos
En el ejemplo de código siguiente se muestra cómo usar la ErrorProvider clase para notificar al usuario un error de entrada de datos. En el ejemplo se crea un Form objeto que contiene un TextBox control, un NumericUpDown control y un ComboBox control, cada uno validando su contenido y un ErrorProvider para cada control. En el ejemplo se establecen las opciones de icono de error mediante las BlinkRate propiedades y BlinkStyle y los SetIconAlignment métodos y SetIconPadding . Se SetError llama al método con o sin texto de error adecuado durante el evento de Validated un control, en función del contenido del 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.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
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
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
End Namespace 'ErrorProvider
En el ejemplo de código siguiente se muestra cómo usar con ErrorProviderDataSource y DataMember para indicar un error de datos al usuario.
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
'...
' 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
Comentarios
ErrorProvider presenta un mecanismo sencillo para indicar al usuario final que un control de un formulario tiene un error asociado. Si se especifica una cadena de descripción de error para el control, aparece un icono junto al control. El icono parpadea de la manera especificada por BlinkStyle, a la velocidad especificada por BlinkRate. Cuando el mouse mantiene el mouse sobre el icono, aparece una información sobre herramientas que muestra la cadena de descripción del error.
Normalmente, se usa ErrorProvider en asociación con controles enlazados a datos. Al usar ErrorProvider con controles enlazados a datos, debe especificar , ContainerControlya sea en el constructor o estableciendo la ContainerControl propiedad .
Nota
El componente ErrorProvider no proporciona compatibilidad integrada con clientes de accesibilidad. Para que la aplicación sea accesible al usar este componente, debe proporcionar un mecanismo de comentarios adicional y accesible.
Constructores
ErrorProvider() |
Inicializa una nueva instancia de la clase ErrorProvider e inicializa los valores predeterminados de las propiedades BlinkRate, BlinkStyle y Icon. |
ErrorProvider(ContainerControl) |
Inicializa una nueva instancia de la clase ErrorProvider asociada a un contenedor. |
ErrorProvider(IContainer) |
Inicializa una nueva instancia de la clase ErrorProvider asociada a una implementación IContainer. |
Propiedades
BlinkRate |
Obtiene o establece la frecuencia con la que parpadea el icono de error. |
BlinkStyle |
Obtiene o establece un valor que indica cuándo parpadea el icono de error. |
CanRaiseEvents |
Obtiene un valor que indica si el componente puede generar un evento. (Heredado de Component) |
Container |
Obtiene la interfaz IContainer que contiene la clase Component. (Heredado de Component) |
ContainerControl |
Obtiene o establece un valor que indica el control primario de este ErrorProvider. |
DataMember |
Obtiene o establece la lista dentro de un origen de datos que se va a supervisar. |
DataSource |
Obtiene o establece el origen de datos supervisado por ErrorProvider. |
DesignMode |
Obtiene un valor que indica si Component está actualmente en modo de diseño. (Heredado de Component) |
Events |
Obtiene la lista de controladores de eventos asociados a Component. (Heredado de Component) |
HasErrors |
Obtiene un valor que indica si esto ErrorProvider tiene errores para cualquiera de los controles asociados. |
Icon |
Devuelve o establece el objeto Icon que se muestra junto a un control cuando se ha establecido para él una cadena de descripción de error. |
RightToLeft |
Obtiene o establece un valor que indica si el componente se utiliza en una configuración regional que admite fuentes de derecha a izquierda. |
Site | |
Tag |
Obtiene o establece un objeto que contiene datos sobre el componente. |
Métodos
BindToDataAndErrors(Object, String) |
Proporciona un método para establecer las propiedades DataSource y DataMember en tiempo de ejecución. |
CanExtend(Object) |
Obtiene un valor que indica si un control se puede extender. |
Clear() |
Borra todos los valores de configuración asociados a este componente. |
CreateObjRef(Type) |
Crea un objeto que contiene toda la información relevante necesaria para generar un proxy utilizado para comunicarse con un objeto remoto. (Heredado de MarshalByRefObject) |
Dispose() |
Libera todos los recursos que usa Component. (Heredado de Component) |
Dispose(Boolean) |
Libera los recursos no administrados que usa Component y, de forma opcional, libera los recursos administrados. |
Equals(Object) |
Determina si el objeto especificado es igual que el objeto actual. (Heredado de Object) |
GetError(Control) |
Devuelve la cadena de descripción del error actual para el control especificado. |
GetHashCode() |
Sirve como la función hash predeterminada. (Heredado de Object) |
GetIconAlignment(Control) |
Obtiene un valor que indica dónde se debe colocar el icono de error con respecto al control. |
GetIconPadding(Control) |
Devuelve el espacio adicional que se va a dejar junto al icono de error. |
GetLifetimeService() |
Obsoletos.
Recupera el objeto de servicio de duración actual que controla la directiva de duración de esta instancia. (Heredado de MarshalByRefObject) |
GetService(Type) |
Devuelve un objeto que representa el servicio suministrado por Component o por Container. (Heredado de Component) |
GetType() |
Obtiene el Type de la instancia actual. (Heredado de Object) |
InitializeLifetimeService() |
Obsoletos.
Obtiene un objeto de servicio de duración para controlar la directiva de duración de esta instancia. (Heredado de MarshalByRefObject) |
MemberwiseClone() |
Crea una copia superficial del Object actual. (Heredado de Object) |
MemberwiseClone(Boolean) |
Crea una copia superficial del objeto MarshalByRefObject actual. (Heredado de MarshalByRefObject) |
OnRightToLeftChanged(EventArgs) |
Genera el evento RightToLeftChanged. |
SetError(Control, String) |
Establece la cadena de descripción del error para el control especificado. |
SetIconAlignment(Control, ErrorIconAlignment) |
Establece dónde se debe colocar el icono de error con respecto al control. |
SetIconPadding(Control, Int32) |
Establece la cantidad de espacio adicional que se va a dejar entre el control especificado y el icono de error. |
ToString() |
Devuelve una String que contiene el nombre del Component, si existe. Este método no se debe invalidar. (Heredado de Component) |
UpdateBinding() |
Proporciona un método para actualizar los enlaces de DataSource, DataMember y el texto del error. |
Eventos
Disposed |
Tiene lugar cuando una llamada elimina el componente mediante una llamada al método Dispose(). (Heredado de Component) |
RightToLeftChanged |
Se produce cuando cambia el valor de la propiedad RightToLeft. |
Implementaciones de interfaz explícitas
ISupportInitialize.BeginInit() |
Indica al objeto que está comenzando la inicialización. |
ISupportInitialize.EndInit() |
Indica al objeto que se ha completado la inicialización. |