Creation d'objet dynamique (FORM)

[Résolu]
Signaler
Messages postés
47
Date d'inscription
jeudi 27 avril 2006
Statut
Membre
Dernière intervention
24 juin 2011
-
Messages postés
47
Date d'inscription
jeudi 27 avril 2006
Statut
Membre
Dernière intervention
24 juin 2011
-
Salut à tous,


Je travaille en ce moment sur Visual Studio et j'utilise les Forms pour mon application.

Je viens de créer une arborescence (TreeView) et j'aimerai, lorsque je clique sur un élément de celle-ci, faire apparaître graphiquement son contenu.
Pour cela, j'aimerai créer dynamiquement des éléments (boutons, images) à chaque clique (et supprimer les précédents).

Avez-vous une idée de comment faire cela? Dois-je les créer sur le ClickEvent?

Je suis surpris de ne pas trouver d'info sur le net et je rame pas mal...


Merci et A+

2 réponses

Messages postés
47
Date d'inscription
jeudi 27 avril 2006
Statut
Membre
Dernière intervention
24 juin 2011

Pour ce que ça intéresse, il est possible d'utiliser la méthode suivante :

System::Void CreateObject(..., short ObjIndice)
{
//declaration de l'objet
Button^ MyButton;
MyButton = gcnew Button();

//infos de l'objet
MyButton->Name = p_Name + Convert::ToString(ObjIndice);

//je décale l'objet de "25" pour ne pas écraser les précédents
MyButton->Top = ObjIndice* 25;
MyButton->Text = p_Name + Convert::ToString(ObjIndice);
}

J'appelle "CreateObject" autant de fois que j'en ai besoin et j'incrémente ObjIndice.

A+
Messages postés
47
Date d'inscription
jeudi 27 avril 2006
Statut
Membre
Dernière intervention
24 juin 2011

Je pensais initialement déclarer un tableau de bouton (par exemple) et l'appelle de l'évenement "TreeViewClick" faire :

---------------------------------------------------
CheckBox^ x[NB_INSTANCE_MAX];
x[Indice] = gcnew CheckBox();
...
Indice++;
---------------------------------------------------

Apparemment, cela semble impossible, le compilo me dit :
"a native array cannot contain this managed type"


Est-ce qu'il y a une autre solution?

Merci,