MaskedTextBox.TypeValidationCompleted Evento

Definición

Se produce cuando MaskedTextBox ha terminado de analizar el valor actual utilizando la propiedad ValidatingType.Occurs when MaskedTextBox has finished parsing the current value using the ValidatingType property.

public:
 event System::Windows::Forms::TypeValidationEventHandler ^ TypeValidationCompleted;
public event System.Windows.Forms.TypeValidationEventHandler TypeValidationCompleted;
member this.TypeValidationCompleted : System.Windows.Forms.TypeValidationEventHandler 
Public Custom Event TypeValidationCompleted As TypeValidationEventHandler 

Ejemplos

En el ejemplo de código siguiente se intenta analizar la entrada del usuario como DateTime un objeto válido.The following code example attempts to parse the user's input as a valid DateTime object. Si se produce un error TypeValidationCompleted , el controlador de eventos muestra un mensaje de error al usuario.If it fails, the TypeValidationCompleted event handler displays an error message to the user. Si el valor es un válido DateTime, el código comprueba que la fecha proporcionada no sea anterior a la fecha de hoy.If the value is a valid DateTime, the code verifies that the date supplied is not prior to today's date. Este ejemplo de código requiere que el proyecto de Windows Forms MaskedTextBox contenga MaskedTextBox1 un control ToolTip denominado y ToolTip1un control denominado.This code example requires that your Windows Forms project contains a MaskedTextBox control named MaskedTextBox1 and a ToolTip control named ToolTip1.

private void Form1_Load(object sender, EventArgs e)
{
    maskedTextBox1.Mask = "00/00/0000";
    maskedTextBox1.ValidatingType = typeof(System.DateTime);
    maskedTextBox1.TypeValidationCompleted += new TypeValidationEventHandler(maskedTextBox1_TypeValidationCompleted);
    maskedTextBox1.KeyDown += new KeyEventHandler(maskedTextBox1_KeyDown);

    toolTip1.IsBalloon = true;
}

void maskedTextBox1_TypeValidationCompleted(object sender, TypeValidationEventArgs e)
{
    if (!e.IsValidInput)
    {
        toolTip1.ToolTipTitle = "Invalid Date";
        toolTip1.Show("The data you supplied must be a valid date in the format mm/dd/yyyy.", maskedTextBox1, 0, -20, 5000);
    }
    else
    {
        //Now that the type has passed basic type validation, enforce more specific type rules.
        DateTime userDate = (DateTime)e.ReturnValue;
        if (userDate < DateTime.Now)
        {
            toolTip1.ToolTipTitle = "Invalid Date";
            toolTip1.Show("The date in this field must be greater than today's date.", maskedTextBox1, 0, -20, 5000);
            e.Cancel = true;
        }
    }
}

// Hide the tooltip if the user starts typing again before the five-second display limit on the tooltip expires.
void maskedTextBox1_KeyDown(object sender, KeyEventArgs e)
{
    toolTip1.Hide(maskedTextBox1);
}
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    Me.MaskedTextBox1.Mask = "00/00/0000"
    Me.MaskedTextBox1.ValidatingType = GetType(System.DateTime)

    Me.ToolTip1.IsBalloon = True
End Sub

Private Sub MaskedTextBox1_TypeValidationCompleted(ByVal sender As Object, ByVal e As TypeValidationEventArgs) Handles MaskedTextBox1.TypeValidationCompleted
    If (Not e.IsValidInput) Then
        Me.ToolTip1.ToolTipTitle = "Invalid Date"
        Me.ToolTip1.Show("The data you supplied must be a valid date in the format mm/dd/yyyy.", Me.MaskedTextBox1, 0, -20, 5000)
    Else
        ' Now that the type has passed basic type validation, enforce more specific type rules.
        Dim UserDate As DateTime = CDate(e.ReturnValue)
        If (UserDate < DateTime.Now) Then
            Me.ToolTip1.ToolTipTitle = "Invalid Date"
            Me.ToolTip1.Show("The date in this field must be greater than today's date.", Me.MaskedTextBox1, 0, -20, 5000)
            e.Cancel = True
        End If
    End If
End Sub

' Hide the tooltip if the user starts typing again before the five-second display limit on the tooltip expires.
Private Sub MaskedTextBox1_KeyDown(ByVal sender As Object, ByVal e As KeyEventArgs) Handles MaskedTextBox1.KeyDown
    Me.ToolTip1.Hide(Me.MaskedTextBox1)
End Sub

Comentarios

Opcionalmente, el MaskedTextBox control validará los datos proporcionados por el usuario MaskedTextBox.ValidatingType con el tipo definido por su propiedad.The MaskedTextBox control will optionally validate user input against the type defined by its MaskedTextBox.ValidatingType property. Cuando esta propiedad no nulles, se produce la siguiente serie de eventos:When this property is not null, the following series of events occurs:

  1. La secuencia de validación comienza cuando se produce uno de los siguientes casos:The validation sequence begins when one of the following occurs:

  2. Cualquiera de estos eventos produce una llamada al Parse método del tipo especificado con la ValidatingType propiedad.Any of these events result in a call to the Parse method of the type specified with the ValidatingType property. Parsees responsable de la conversión de la cadena de entrada con formato al tipo de destino.Parse is responsible for the conversion of the formatted input string to the target type. Una conversión correcta equivale a una validación correcta.A successful conversion equates to a successful validation.

  3. Después Parse de que devuelva, se genera el TypeValidationCompleted evento.After Parse returns, the TypeValidationCompleted event is raised. Normalmente, el controlador de eventos para este evento se implementa para realizar el procesamiento de la validación de tipos o máscaras.The event handler for this event is most commonly implemented to perform type or mask validation processing. Recibe un TypeValidationEventArgs parámetro que contiene información sobre la conversión; por ejemplo, el IsValidInput miembro indica si la conversión se realizó correctamente.It receives a TypeValidationEventArgs parameter containing information about the conversion; for example, the IsValidInput member indicates whether the conversion was successful.

  4. Después de que el controlador de TypeValidationCompleted eventos para el evento vuelva, se genera Validatingel evento de validación estándar,.After the event handler for the TypeValidationCompleted event returns, the standard validation event, Validating, is raised. Un controlador se puede implementar para realizar la validación estándar, quizás incluyendo la cancelación del evento.A handler can be implemented to perform standard validation, perhaps including canceling the event.

  5. Si el evento no se cancela en el paso 3, se genera el evento Validated de validación de control estándar.If the event is not canceled in step 3, the standard control validation event Validated is raised.

Si la Cancel propiedad se true establece en en el TypeValidationCompleted controlador de eventos, se cancelará el evento y el MaskedTextBox control conservará el foco, a menos Validating que el evento subsiguiente establezca su CancelEventArgs.Cancel versión de la propiedad. Vuelva a false.If the Cancel property is set to true in the TypeValidationCompleted event handler, the event will be canceled and the MaskedTextBox control retains focus, unless the subsequent Validating event sets its version of the CancelEventArgs.Cancel property back to false.

Se aplica a

Consulte también: