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 !!!!
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.
TheSaib Messages postés 2367 Date d'inscription mardi 17 avril 2001 Statut Membre Dernière intervention 26 décembre 2007 22
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
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

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 !!!!
Rejoignez-nous