MaskedTextBox.TypeValidationCompleted Événement

Définition

Se produit lorsque MaskedTextBox a fini d'analyser la valeur actuelle à l'aide de la propriété 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 

Exemples

L’exemple de code suivant tente d’analyser l’entrée de l’utilisateur en tant qu’objet DateTime valide.The following code example attempts to parse the user's input as a valid DateTime object. En cas d’échec, le gestionnaire d’événements TypeValidationCompleted affiche un message d’erreur à l’utilisateur.If it fails, the TypeValidationCompleted event handler displays an error message to the user. Si la valeur est un DateTimevalide, le code vérifie que la date fournie n’est pas antérieure à la date du jour.If the value is a valid DateTime, the code verifies that the date supplied is not prior to today's date. Cet exemple de code requiert que votre projet Windows Forms contienne un contrôle MaskedTextBox nommé MaskedTextBox1 et un contrôle ToolTip nommé ToolTip1.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

Remarques

Le contrôle MaskedTextBox validera éventuellement l’entrée utilisateur par rapport au type défini par sa propriété MaskedTextBox.ValidatingType.The MaskedTextBox control will optionally validate user input against the type defined by its MaskedTextBox.ValidatingType property. Lorsque cette propriété n’est pas null, la série d’événements suivante se produit :When this property is not null, the following series of events occurs:

  1. La séquence de validation commence lorsque l’un des éléments suivants se produit :The validation sequence begins when one of the following occurs:

  2. L’un de ces événements entraîne un appel à la méthode Parse du type spécifié avec la propriété ValidatingType.Any of these events result in a call to the Parse method of the type specified with the ValidatingType property. Parse est responsable de la conversion de la chaîne d’entrée mise en forme en type cible.Parse is responsible for the conversion of the formatted input string to the target type. Une conversion réussie équivaut à une validation réussie.A successful conversion equates to a successful validation.

  3. Une fois Parse retourné, l’événement TypeValidationCompleted est déclenché.After Parse returns, the TypeValidationCompleted event is raised. Le gestionnaire d’événements pour cet événement est le plus souvent implémenté pour effectuer le traitement de la validation de type ou de masque.The event handler for this event is most commonly implemented to perform type or mask validation processing. Elle reçoit un paramètre TypeValidationEventArgs contenant des informations sur la conversion ; par exemple, le membre IsValidInput indique si la conversion a réussi.It receives a TypeValidationEventArgs parameter containing information about the conversion; for example, the IsValidInput member indicates whether the conversion was successful.

  4. Une fois le gestionnaire d’événements de l’événement TypeValidationCompleted retourné, l’événement de validation standard, Validating, est déclenché.After the event handler for the TypeValidationCompleted event returns, the standard validation event, Validating, is raised. Un gestionnaire peut être implémenté pour effectuer la validation standard, en incluant éventuellement l’annulation de l’événement.A handler can be implemented to perform standard validation, perhaps including canceling the event.

  5. Si l’événement n’est pas annulé à l’étape 3, l’événement de validation de contrôle standard Validated est déclenché.If the event is not canceled in step 3, the standard control validation event Validated is raised.

Si la propriété Cancel a la valeur true dans le gestionnaire d’événements TypeValidationCompleted, l’événement est annulé et le contrôle MaskedTextBox conserve le focus, à moins que l’événement Validating suivant affecte la valeur CancelEventArgs.Cancel à sa version de la propriété 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.

S’applique à

Voir aussi