Je veux vérifier ce que l'utilisateur écrit dans une zone de texte avant de l'enregistrer dans une base de données. Quelle est la meilleure façon de procéder? Je suppose que je peux toujours écrire des ifs ou des blocs try-catch, mais je me demandais s'il y avait une meilleure méthode. J'ai lu quelque chose sur la validation des événements, mais je ne sais pas comment les utiliser.
Il existe de nombreuses façons de valider votre TextBox. Vous pouvez le faire à chaque frappe de touche, ultérieurement ou lors de l'événement Validating
.
L'événement Validating
est déclenché si votre TextBox perd le focus. Par exemple, lorsque l'utilisateur clique sur un autre contrôle. Si votre ensemble e.Cancel = true
la TextBox ne perd pas le focus.
MSDN - Événement Control.Validating Lorsque vous modifiez le focus à l'aide du clavier (TAB, SHIFT + TAB, etc.), en appelant Select ou Les méthodes SelectNextControl ou en définissant la propriété ContainerControl.ActiveControl sur le formulaire actuel, les événements de focus se produisent dans l'ordre suivant
Entrer
Focalisé
Laisser
Valider
Validée
LostFocus
Lorsque vous modifiez le focus à l'aide de la souris ou en appelant la méthode Focus, les événements de focus se produisent dans l'ordre suivant:
Entrer
Focalisé
LostFocus
Laisser
Valider
Validée
private void textBox1_Validating(object sender, CancelEventArgs e)
{
if (textBox1.Text != "something")
e.Cancel = true;
}
Vous pouvez utiliser le ErrorProvider
pour visualiser que votre TextBox n'est pas valide. Découvrez tilisation du contrôle du fournisseur d'erreurs dans les formulaires Windows et C #
Avec WinForms, vous pouvez utiliser ErrorProvider en conjonction avec l'événement Validating
pour gérer la validation de l'entrée utilisateur. L'événement Validating
fournit le crochet pour effectuer la validation et ErrorProvider donne une approche cohérente agréable pour fournir à l'utilisateur des commentaires sur toutes les conditions d'erreur.
http://msdn.Microsoft.com/en-us/library/system.windows.forms.errorprovider.aspx