Bonjour à tous,
j'essaie de valider des informations sur un code postal de Format : H3H 3H3. La validation se passe correctement sauf que, si le code postal n'est pas de bon format, le mécanisme de validation doit 1) Afficher un message d'erreur, 2) Sélectionner le texte dans le controle textbox, et 3) rendre le focus au textbox.
Dans mon cas, il arrive que le focus ne se rende pas, ou que le focus et le messagebox arrive en conflit, ce qui m'emmene dans une boucle infernale... (ou infini... pour moi c'est la meme chose)
voici donc mon code...
pour ce qui est de l'évenement lostfocus.... la validation se fait à l'intérieur de la classe Client, et retourne 0 si tout va bien et 1 si ça ne va pas)
et voici maintenant la méthode ValiderChamps... qui semble être la méthode problématique....
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 privatevoid txtCodePostalClient_LostFocus(object sender, EventArgs e) { validerChamps(this.txtCodePostalClient, unClient.setCodePostal(this.txtCodePostalClient.Text)); }
le sender.Focus() semble ne pas toujours fonctionner... surtout quand je change de fenetre par exemple pour aller sur le forum,... . ensuite j'entre dans la boucle infinie...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 privatevoid validerChamps(System.Windows.Forms.TextBox sender, int errorCode) { if (errorCode != 0) { if (MessageBox.Show("Erreur de format", "Erreur de format", MessageBoxButtons.OK) == System.Windows.Forms.DialogResult.OK) { sender.Select(0, sender.Text.Length); } sender.Focus(); } }
Alors, des suggestions???
Merci à tous d'avance
Partager