Serialisation labels ?

Résolu
micbristol Messages postés 36 Date d'inscription dimanche 23 décembre 2007 Statut Membre Dernière intervention 24 février 2013 - 18 sept. 2009 à 15:56
micbristol Messages postés 36 Date d'inscription dimanche 23 décembre 2007 Statut Membre Dernière intervention 24 février 2013 - 21 sept. 2009 à 21:26
Bonjour
voici mon probleme
j'ai par exemle 5 labels
label1, label2, label3, label4, label5

je voudrais faire une boucle pour afficher des strings dans ces labels
mais en incrementant le numero du label,
par exemple

While (NUM < 5)
{
labelNUM.text = text1;
NUM++
}

je sais que ma syntax ne va pas du tout mais c'est pour expliquer l'idée
car dans mon program j'ai une 30aine de labels, et je voudrais aussi pouvoir en tirer au sort au hasard

si qq un a une idée ?

merci

11 réponses

DrIvory Messages postés 47 Date d'inscription lundi 14 septembre 2009 Statut Membre Dernière intervention 6 novembre 2009 3
21 sept. 2009 à 12:18
Bah alors faut que tu stockes tous tes labels dans une List par exemple:

List<Label> labelList = new List<Label>();


Et tu y ajoutes tous tes labels dedans
labelList.add(tonLabel);


et après tu pourras y accéder comme ceci:
labelList[3]

par exemple ^^
3
DrIvory Messages postés 47 Date d'inscription lundi 14 septembre 2009 Statut Membre Dernière intervention 6 novembre 2009 3
18 sept. 2009 à 16:07
Par ex:

Tu as 30 labels dans ton programme et tu voudrais pouvoir tirer au sort un label?
0
micbristol Messages postés 36 Date d'inscription dimanche 23 décembre 2007 Statut Membre Dernière intervention 24 février 2013
18 sept. 2009 à 17:08
salut
oui ca ferait parmi des trucs que je voudrais faire
mais la fonction principal serait
imagine tu as 30 strings differents
que tu veux afficher dans 30 labels differents

je peux avec une simple boucle nommer mes strings, "STR1" , "STR2" , "STR" + NOMBRE , etc...
maintenant je voudrais pourvoir faire pareil avec les labels, sans taper vulgairement les 30
LABEL1.text = STR1
LABEL2.text = STR2
LABEL3.text = STR3
.
.
.
je voudrais qq chose du genre
LABELID.text = STR1
je change ID comme je veux, par exemple ID = 15
et de ceci avec la meme commande je peux acceder au LADEL15.text = STR15

est ce possible ?

merci
0
DrIvory Messages postés 47 Date d'inscription lundi 14 septembre 2009 Statut Membre Dernière intervention 6 novembre 2009 3
18 sept. 2009 à 17:14
Du genre,

int number = 0;
for (; number < 30; number++)
     LABEL[num].text = "str" + number.ToString();


Un truc du genre non ^^
enfin ici c'est en considerant une liste de labels
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
micbristol Messages postés 36 Date d'inscription dimanche 23 décembre 2007 Statut Membre Dernière intervention 24 février 2013
21 sept. 2009 à 09:37
Salut, oui c'est l'idee, mais ceci ne marche pas
enfin pas chez moi
"the name "label" does not exist in the current context"

est ce que ca marche chez toi ?
ou une methode semblable ?

merci
0
DrIvory Messages postés 47 Date d'inscription lundi 14 septembre 2009 Statut Membre Dernière intervention 6 novembre 2009 3
21 sept. 2009 à 10:22
Tous tes labels sont-ils stocké quelque part?
Du genre une liste de labels?
0
micbristol Messages postés 36 Date d'inscription dimanche 23 décembre 2007 Statut Membre Dernière intervention 24 février 2013
21 sept. 2009 à 10:47
non, enfin je ne sais pas comment les stocker dans une liste
ils sont simplement dans ma form

comment les stocker dans une liste ? cela resoudrait mon probleme ?

merci
0
DrIvory Messages postés 47 Date d'inscription lundi 14 septembre 2009 Statut Membre Dernière intervention 6 novembre 2009 3
21 sept. 2009 à 11:22
Bah sinon,
laisse comme c'est et parcours tous tes contrôles.

Exemple, dans ton constructeur(dans ta form)
int numb = 0;
// pour chaque contole
foreach(Control it in this.Controls)
{
  // Si c'est un label
  if (it.GetType() == typeof(Label))
  {
     it.Text = "str" + numb.ToString();
     numb++;
  }
}
0
micbristol Messages postés 36 Date d'inscription dimanche 23 décembre 2007 Statut Membre Dernière intervention 24 février 2013
21 sept. 2009 à 12:02
désolé je suis pas assez fort pour comprendre ton code et le reutiliser
si par exemple je veux afficher AAA dans le label100 et BBB dans le label105
par la suite je voudrais CCC dans le label33 et DDD dans le label58

je voudrais pouvoir acceder au label du genre label[NOM]
choisir NOM comme je le sens 100 ou 105 ou 33 ou 58 , et afficher le bon text dans le bon label

j'ai besoin de plus d'explication ... desole et merci encore
0
micbristol Messages postés 36 Date d'inscription dimanche 23 décembre 2007 Statut Membre Dernière intervention 24 février 2013
21 sept. 2009 à 12:27
j'ai essayé tres vite fais mais oui ca ressemble bien plus a ce que je veux faire, je vais aller plus loin dans la journee et te confirmerai que tout vas bien, en tout cas merci de ta patience et de ton aide
0
micbristol Messages postés 36 Date d'inscription dimanche 23 décembre 2007 Statut Membre Dernière intervention 24 février 2013
21 sept. 2009 à 21:26
ca marche tres bien, c'est ce que je voulais
merci encore :)
0
Rejoignez-nous