Procédure pas à pas : utilisation du contrôle MaskedTextBox
Cette procédure pas à pas décrit notamment les tâches suivantes :
Initialisation du MaskedTextBox contrôle
Utilisation du gestionnaire d’événements MaskInputRejected pour alerter l’utilisateur lorsqu’un caractère n’est pas conforme au masque
Affectation d’un type à la ValidatingType propriété et utilisation du TypeValidationCompleted gestionnaire d’événements pour alerter l’utilisateur lorsque la valeur qu’il tente de valider n’est pas valide pour le type
Création du projet et ajout d’un contrôle
Pour ajouter un contrôle MaskedTextBox à votre formulaire
Ouvrez le formulaire sur lequel vous souhaitez placer le MaskedTextBox contrôle.
Faites glisser un MaskedTextBox contrôle de la boîte à outils vers votre formulaire.
Cliquez avec le bouton droit sur le contrôle et choisissez Propriétés. Dans la fenêtre Propriétés , sélectionnez la propriété Mask , puis cliquez sur le bouton ... (points de suspension) en regard du nom de la propriété.
Dans la boîte de dialogue Masque d’entrée, sélectionnez le masque de date courte, puis cliquez sur OK.
Dans la fenêtre Propriétés , définissez la BeepOnError propriété sur
true
. Cette propriété provoque un bip court à sonner chaque fois que l’utilisateur tente d’entrer un caractère qui enfreint la définition du masque.
Pour obtenir un résumé des caractères pris en charge par la propriété Mask, consultez la section Notes de la Mask propriété.
Avertir l’utilisateur des erreurs d’entrée
Ajouter une info-bulle pour l’entrée masquée rejetée
Revenez à la boîte à outils et ajoutez un ToolTip à votre formulaire.
Créez un gestionnaire d’événements pour l’événement MaskInputRejected qui déclenche l’erreur ToolTip d’entrée. La bulle reste visible pendant cinq secondes ou jusqu’à ce que l’utilisateur clique dessus.
public void Form1_Load(Object sender, EventArgs e) { ... // Other initialization code maskedTextBox1.Mask = "00/00/0000"; maskedTextBox1.MaskInputRejected += new MaskInputRejectedEventHandler(maskedTextBox1_MaskInputRejected) } void maskedTextBox1_MaskInputRejected(object sender, MaskInputRejectedEventArgs e) { toolTip1.ToolTipTitle = "Invalid Input"; toolTip1.Show("We're sorry, but only digits (0-9) are allowed in dates.", maskedTextBox1, maskedTextBox1.Location, 5000); }
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Me.ToolTip1.IsBalloon = True Me.MaskedTextBox1.Mask = "00/00/0000" End Sub Private Sub MaskedTextBox1_MaskInputRejected(sender as Object, e as MaskInputRejectedEventArgs) Handles MaskedTextBox1.MaskInputRejected ToolTip1.ToolTipTitle = "Invalid Input" ToolTip1.Show("We're sorry, but only digits (0-9) are allowed in dates.", MaskedTextBox1, 5000) End Sub
Avertir l’utilisateur d’un type non valide
Ajouter une info-bulle pour les types de données non valides
Dans le gestionnaire d’événements de Load votre formulaire, affectez un Type objet représentant le DateTime type à la MaskedTextBox propriété du ValidatingType contrôle :
private void Form1_Load(Object sender, EventArgs e) { // Other code maskedTextBox1.ValidatingType = typeof(System.DateTime); maskedTextBox1.TypeValidationCompleted += new TypeValidationEventHandler(maskedTextBox1_TypeValidationCompleted); }
Private Sub Form1_Load(sender as Object, e as EventArgs) // Other code MaskedTextBox1.ValidatingType = GetType(System.DateTime) End Sub
Ajoutez un gestionnaire d'événements pour l'événement TypeValidationCompleted :
public void maskedTextBox1_TypeValidationCompleted(object sender, TypeValidationEventArgs e) { if (!e.IsValidInput) { toolTip1.ToolTipTitle = "Invalid Date Value"; toolTip1.Show("We're sorry, but the value you entered is not a valid date. Please change the value.", maskedTextBox1, 5000); e.Cancel = true; } }
Public Sub MaskedTextBox1_TypeValidationCompleted(sender as Object, e as TypeValidationEventArgs) If Not e.IsValidInput Then ToolTip1.ToolTipTitle = "Invalid Date Value" ToolTip1.Show("We're sorry, but the value you entered is not a valid date. Please change the value.", maskedTextBox1, 5000) e.Cancel = True End If End Sub
Voir aussi
.NET Desktop feedback
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour