Le même événement pour tous les textBox

Résolu
cs_petercrouch Messages postés 4 Date d'inscription jeudi 31 janvier 2008 Statut Membre Dernière intervention 3 décembre 2009 - 15 sept. 2009 à 10:48
cs_petercrouch Messages postés 4 Date d'inscription jeudi 31 janvier 2008 Statut Membre Dernière intervention 3 décembre 2009 - 15 sept. 2009 à 17:31
Bonjour, j'ai un form contenant plusieurs textBox(une trentaine) et pour chaque textBox la même méthode relative à l'événement textChanged.
private void textBox1_TextChanged(object sender, EventArgs e)
        {
            string texte = textBox1.Text;
            { 
            
            }
            int res=0;
            if(texte!=""&&(int.TryParse(texte, out res) == false||res==0))
            {
                MessageBox.Show("Charactère incorrect ou égal à 0 !" , "Vérification de la saisie", MessageBoxButtons.OK, MessageBoxIcon.Information);
                textBox1.Text = "";
            }
        }


Ma question,comment faire pour ne pas avoir à réécrire la même méthode pour tous les textBox(j'en ai une trentaine!)?

3 réponses

leprov Messages postés 1160 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 21 octobre 2010 17
15 sept. 2009 à 11:43
il suffit simplement que lors de labonnement a l'évènement, tu abonne toutes les textbox au meme handler.

textbox1.Textchanged += textbox_Textchanged;
textbox2.Textchanged += textbox_Textchanged;

Tu peux aussi bien le faire dans le code que dans le designer.

Il te suffit ensuite de regarder ton sender pour savoir quelle est la textbox qui a levé l'évènement
Textbox stronglyTypedSender = (Textbox)sender;
3
DrIvory Messages postés 47 Date d'inscription lundi 14 septembre 2009 Statut Membre Dernière intervention 6 novembre 2009 3
15 sept. 2009 à 11:37
Tu pourrais peut-être faire une classe qui hérite de TextBox et y gérer ton évènement?

Coordialement,
0
cs_petercrouch Messages postés 4 Date d'inscription jeudi 31 janvier 2008 Statut Membre Dernière intervention 3 décembre 2009
15 sept. 2009 à 17:31
Merci infiniment tous les 2 pour votre aide ca marche en effet!
0
Rejoignez-nous