Textbox en panne

Messages postés
2
Date d'inscription
samedi 3 février 2007
Dernière intervention
27 août 2018
-
Bonjour,

il m'est impossible de modifier par programme un textbox :
voici le code

void VerifierNom(object Sender, EventArgs Eve)
        {
            int Indice = Convert.ToInt32(((TextBox)Sender).Tag);
            int Place = TextJoueur[Indice].SelectionStart;

            TextBox TexteTest =  (TextBox)Sender;
            this.Text = Convert.ToString(Indice) + "  //  " + Convert.ToString(Place) + "  //  " + TextJoueur[Indice].Text + "  //  " + TexteTest.Text + " //  " + Convert.ToString(TexteTest.SelectionStart); .......



les données sont correctes pour "Sender" donc pour l'indice mais impossible d'avoir d'accès au textbox originel "TextJoueur" ni de le modifier alors que l'accès à "VerifierNom" est parfait, le this.text me servant de témoin.

c'est d'autant plus énervant que j'utilise cette routine dans d'autres programmes sans aucun problème

merci d'avance

EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI

Merci d'y penser dans tes prochains messages.
Afficher la suite 

Votre réponse

2 réponses

Messages postés
12409
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
16 décembre 2018
0
Merci
Bonjour

t'es sûr que c'est du C++?
NHenry
Messages postés
14323
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
15 décembre 2018
-
Déplacé en C#.
Whismeril
Messages postés
12409
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
16 décembre 2018
-
oui mais j'espérais juste qu'il sache de lui-même dans quel langage il travaille....
Tu peux mettre un peu de couleur aussi s'il te plait?
NHenry
Messages postés
14323
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
15 décembre 2018
-
Done :)
Whismeril
Messages postés
12409
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
16 décembre 2018
-
Merci
Commenter la réponse de Whismeril
Messages postés
12409
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
16 décembre 2018
0
Merci
Bon tout d'abord,
            int Indice = Convert.ToInt32(((TextBox)Sender).Tag);//ici tu castes sender en Textbox
            int Place = TextJoueur[Indice].SelectionStart;

            TextBox TexteTest =  (TextBox)Sender;//ici tu castes encore sender en Textbox

Caster 2 fois la même variable sur 3 lignes est d'une part une répétition de code inutile, et d'autre part une perte de temps d'exécution.

            TextBox TexteTest =  (TextBox)Sender;
            int Indice = Convert.ToInt32(TexteTest.Tag);
            int Place = TextJoueur[Indice].SelectionStart;

Fera la même chose.

Ceci
 this.Text = Convert.ToString(Indice) + "  //  " + Convert.ToString(Place) + "  //  " + TextJoueur[Indice].Text + "  //  " + TexteTest.Text + " //  " + Convert.ToString(TexteTest.SelectionStart);

est une construction déconseillée, il est plus propre et plus facile (une fois qu'on a compris comment ça marche) de se servir de string.Format

this.Text = string.Format(@"{0} / {1} / {2} / {3} / {4}",Indice, Place, TextJoueur[Indice].Text, TexteTest.Text,TexteTest.SelectionStart);
. L'@ devant évite de doubler les /
Tu pourrais aussi faire un tableau de string et le joindre avec " / " comme séparateur.

Maintenant pour ton problème, tu n'as pas expliqué ce qu'est TextJoueur, enfin si tu as dit
textbox originel "TextJoueur"
, mais un Textbox ne peut pas être indicé, donc tu as donné une mauvaise explication.
Comme on ne peut pas deviner, pour t'aider il nous faut plus d'infos.


Quand j'étais petit, la mer Morte n'était que malade.
George Burns
Commenter la réponse de Whismeril

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.