Associer objet et variables ?

Signaler
Messages postés
14
Date d'inscription
dimanche 22 juin 2003
Statut
Membre
Dernière intervention
28 mai 2008
-
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
-
bonjour,

je m'explique, imaginons que j'ai 3 labels : label1, label2 et label3.

j'ai également un integer i qui varie de 1 à 3

comment faire pour faire ça :

for (i=1;i<3;i++){
label i.Text = i.ToString(); // par exemple
}

en fait associer label (ou autre objet ) avec ma variable i pour eviter de faire manuelement
label1.Text=1;
label2.Text=3;

je ne sais pas si j'ai été clair mais je ne sais pas comment formuler autrement le problème.

Merci à tous pour vos aides précieuse !!

4 réponses

Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
28
Malheureusement on peut pas faire ce que tu veux tres facilement. Pour
faire cela il faudrais utiliser faire du CodeDom et/ou de la
reflection. Regarde sur le forum de Csharpfr.com la question avait été
posé ...



Pour contourner ton problème, tu peux mettre tes labels dans un aray, genre



dim a as array = { label1, label2, label3 ]



dim i as integer = 0

for each lbl as object in a

i+=1

ctype(lbl, label).text = i ' en C# essaye directement i++ ca devrait fonctionner

next



Voila

<!--StartFragment -->
<hr>

Cyril - Webmaster de Hoshimi.CodeS-SourceS.fr
Messages postés
14
Date d'inscription
dimanche 22 juin 2003
Statut
Membre
Dernière intervention
28 mai 2008

merci,

je vais essayer de le mettre dans un tableau, j'y avait pensé mais ....

bon je teste

encore merci !
Messages postés
14
Date d'inscription
dimanche 22 juin 2003
Statut
Membre
Dernière intervention
28 mai 2008

donc voilà ta solution qui fonctionne bien en C# :

object[] j = new object[25] {Jour1, Jour2, Jour3,Jour4, Jour5, Jour6, Jour7, Jour8,Jour9, Jour10,Jour11, Jour12, Jour13,Jour14, Jour15,Jour16, Jour17, Jour18,Jour19, Jour20,Jour21, Jour22, Jour23,Jour24, Jour25};


int i=0;


foreach (Label l in j)
{
i++;
l.Text=i.ToString();
}

Donc encore merci !!
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
28
Je te donne une solution un peu plus complexe mais beaucoup plus joli.



Tu as ajouté tout tes label dans le code html à la suite comme ca

Cyril - Webmaster de Hoshimi.CodeS-SourceS.fr