Objet dynamique .net.

jonguerre Messages postés 8 Date d'inscription vendredi 4 juillet 2003 Statut Membre Dernière intervention 16 janvier 2004 - 14 janv. 2004 à 11:58
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 - 16 janv. 2004 à 12:04
Bonjour,

Petite question je crée 2 objets Panel (panel1,panel2);

panel1 = new System.Windows.Forms.Panel();
panel2 = new System.Windows.Forms.Panel();

J'aimerais y acceder dynamiquement dans une boucle du style panel+i ou i=1 ou 2;

Comment faire ?

Merci d'avance

John

5 réponses

cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
14 janv. 2004 à 12:19
y'a ptet moyen en utilisant une collection (genre ArrayList) non ?

quand tu crée un panel tu l'y ajoute et comme ça tu peut y acceder via un index correspondant à ton i

Cocoricoooooooo !!!!
0
cs_jeremie55 Messages postés 8 Date d'inscription mardi 8 avril 2003 Statut Membre Dernière intervention 14 janvier 2004
14 janv. 2004 à 12:37
tu peux aussi utiliser la reflexion :
this.GetType().GetProperty("Panel1").GetValue(this, null);

peut etre modifier un peux la ligne en tout cas elle doit te renvoyer un object que tu cast ensuite en panel.
0
TheSaib Messages postés 2367 Date d'inscription mardi 17 avril 2001 Statut Membre Dernière intervention 26 décembre 2007 23
14 janv. 2004 à 18:25
public const BindingFlags ma =
BindingFlags.Public | BindingFlags.NonPublic |
BindingFlags.Static | BindingFlags.Instance | BindingFlags.IgnoreCase ;

----------------------

TextBox tb1 = this.GetType().GetField("textbox"+ i,ma).GetValue(this);

----------------------

A vue de n'oeil mais ca devrait marché

::|The S@ib|::
MVP C#.NET
0
jonguerre Messages postés 8 Date d'inscription vendredi 4 juillet 2003 Statut Membre Dernière intervention 16 janvier 2004
16 janv. 2004 à 11:44
Merci pour vos réponse.

j'ai juste encore un souci, j'ai fait :

Panel pn1 = this.GetType().GetField("panel3",ma).GetValue(this);

Mais j'obtiens comme erreur impossible de convertir un typ object en Panel;

Merci

John
0

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

Posez votre question
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
16 janv. 2004 à 12:04
essaye le cast on sait jamais :

Panel pn1 = (Panel)(this.GetType().GetField("panel3",ma).GetValue(this));


Cocoricoooooooo !!!!
0
Rejoignez-nous