Focus TextBox [Résolu]

Signaler
Messages postés
15
Date d'inscription
samedi 28 février 2009
Statut
Membre
Dernière intervention
30 mars 2010
-
Messages postés
15
Date d'inscription
samedi 28 février 2009
Statut
Membre
Dernière intervention
30 mars 2010
-
Bonjour à tous et à toutes!

Alors je vous expose mon problème : j'ai dans l'optique de créer une sorte de pendu pour les cours,
pour cela j'ai réaliser toute une série de TextBox dans laquelle je n'entre qu'une lettre de ce coté là pas de problème,

Mon problème c'est que je voudrais que dès que j'ai écrit ma lettre dans le TextBox le focus passe au suivant TextBox mon idée était de jouer sur
l'évenement  TextChanged en y implantant ce code :

        private void Suivant(object sender, EventArgs e)
        {
            int I;
            I = (((TextBox)sender).TabIndex);
            I = I + 1;

            foreach (Control ctl in this.Controls)
            ((this.Controls.Find("TextBox" + I, true))[0] as TextBox).Focus();

        }

et les TabIndex sont correctes, merci d'avance !
A voir également:

5 réponses

Messages postés
1860
Date d'inscription
lundi 28 novembre 2005
Statut
Modérateur
Dernière intervention
14 février 2015
44
Salut !

Euh, il sert à quoi ton foreach ?
Si tes TabIndex vont de 5 à 10 par exemple, tes TextBox s'appellent bien (en respectant la casse) TextBox5, TextBox6... TextBox10 ?
(Je reprécise bien "en respectant la casse", car par défaut, Visual Studio nomme les contrôles avec une minuscule en première lettre)

Krimog :
while (!succeed = try()) ;
Messages postés
15
Date d'inscription
samedi 28 février 2009
Statut
Membre
Dernière intervention
30 mars 2010

ha oui en effet .... c'est bien textBox ... j'ai honte lol ^^
Messages postés
15
Date d'inscription
samedi 28 février 2009
Statut
Membre
Dernière intervention
30 mars 2010

Merci beaucoup de ton aide ca marche tu avait raison l'index n'envoyait pas la bonne valeur il fallait faire :
I = I +2 au lieu de I ++ ^^
Messages postés
1860
Date d'inscription
lundi 28 novembre 2005
Statut
Modérateur
Dernière intervention
14 février 2015
44
"ha oui en effet .... c'est bien textBox ... j'ai honte lol ^^"
ça arrive à tout le monde au moins une fois ;-)

En revanche, tu devrais changer ta manière de procéder, qui n'est pas forcément très "propre".
Car TabIndex, c'est modifié directement et automatiquement par visual studio.

Tu peux par exemple mettre tes textbox dans une liste.
Quand ton événement est lancé, tu parcours la liste jusqu'à trouver ton contrôle sender. Et alors tu focus l'élément suivant de la liste.

Krimog :
while (!succeed = try()) ;
Messages postés
15
Date d'inscription
samedi 28 février 2009
Statut
Membre
Dernière intervention
30 mars 2010

D'accord je vais essayer ca, merci encore!