Labels dynamiques [Résolu]

Messages postés
24
Date d'inscription
jeudi 10 juin 2004
Statut
Membre
Dernière intervention
10 août 2007
- - Dernière réponse : cs_OxN
Messages postés
24
Date d'inscription
jeudi 10 juin 2004
Statut
Membre
Dernière intervention
10 août 2007
- 12 juil. 2005 à 14:48
Situation:
je créé des labels dynamiquement sur mon forms dont j'ai défini le nom de cette manière:
lbl.Name = lbl+Numero;
numero étant un compteur afin d'avoir des noms différents pour chaque label créé.(ex; lbl1, lbl2,.....)

Problème:
je voudrai par exemple en cliquant sur un bouton, mettre lbl3 en rouge, mais lbl3 n'existe pas dans mon code puisqu'il n'a pas été créé!!

private void test_Click(object sender, System.EventArgs e)
{
lbl3.BackColor= Color.Red;
}
---> ça ça ne passe pas dans mon code puisque lbl3 est encore inconnu.

eventuelle solution:
y'aurait'il un moyen de prendre le contenu d'une variable pour agir dessus comme si'c'étai un nom d'un label??

par exemple Toto="lbl3"

private void test_Click(object sender, System.EventArgs e)
{
[Toto.Text].backcolor= Color.Red;
}
ça ça ne marche pas mais existe t'il une autre syntaxe pour faire un truc du genre?


Quelqu'un aurait'il une idéé SVP? Merci d'avance ;-)
Afficher la suite 

5 réponses

Meilleure réponse
Messages postés
3246
Date d'inscription
lundi 25 avril 2005
Statut
Modérateur
Dernière intervention
27 octobre 2012
29
3
Merci
Elle est peu dangereuse ma boucle, mieux vaut tester des controls plutôt que des labels :


foreach ( Control ctrl
in
this.Controls )
{

if ( ctrl.Name ==
"lbl3" )
{
ctrl.BackColor = Color.Red;
}
}

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 219 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Lutinore
Messages postés
3246
Date d'inscription
lundi 25 avril 2005
Statut
Modérateur
Dernière intervention
27 octobre 2012
29
0
Merci
Salut,

private void Button_Click( obect sd, EventArgs e )
{
foreach ( Label lbl in this.Controls )
{
if ( lbl.Name == "lbl3" )
{
lbl.BackColor = Color.Red;
}
}
}
Commenter la réponse de Lutinore
Messages postés
3466
Date d'inscription
lundi 16 octobre 2000
Statut
Modérateur
Dernière intervention
30 octobre 2008
41
0
Merci
J'avais dit une grosse bétise, que j'efface donc parce qu'elle ne sert a rien sauf a vous donner de quoi vous moquer de moi

Je me demande bien a quoi je pensais quand j'ai répondu ca ^^



La solution de Lutinore est la bonne


Mx
Commenter la réponse de MorpionMx
Messages postés
3246
Date d'inscription
lundi 25 avril 2005
Statut
Modérateur
Dernière intervention
27 octobre 2012
29
0
Merci
Moi aussi, je veux une gomme !! Mx tu ne pouvais pas comprendre si tu n'avais pas suivi son post pécédent.. En plus je viens de voir que Aogie lui avait déja répondu..
Commenter la réponse de Lutinore
Messages postés
24
Date d'inscription
jeudi 10 juin 2004
Statut
Membre
Dernière intervention
10 août 2007
1
0
Merci
Thx ca marche nickel j'y avai vraimen pas pensé
merci A+
;-)
Commenter la réponse de cs_OxN