Je cherche à peupler une listbox avec les contrôles présent sur un panel, j'ai tenté de faire :
sans succés.Code:listBoxItems.DataSource = panel.Controls;
Si quelqu'un a une petite idée :-) merci d'avance.
Version imprimable
Je cherche à peupler une listbox avec les contrôles présent sur un panel, j'ai tenté de faire :
sans succés.Code:listBoxItems.DataSource = panel.Controls;
Si quelqu'un a une petite idée :-) merci d'avance.
Pas exactement compris ce que tu souhaites faire (du moins afficher...)
Un truc un peu comme à la fin de cet article?
http://msdn2.microsoft.com/fr-fr/lib...7830b7b3d.aspx
Ou le type liste ces control enfants?
J'ai un panel, dans lequel j'ajoute ( et je supprime ) des contrôles, (en runtime, pas lors de la programmation).
J'aimerai pour peupler un listbox, avec tous les controles dont le parent est mon panel. En gros, tous les controles que l'utilisateur aura disposer sur le panel doivent apparaitre dans cette liste ( de sorte de pouvoir trouver rapidement un contrôle, et d'effectuer diverses actions).
C'est un peu comme dans cet exemple oui.Citation:
Envoyé par Chubyone
Par contre ca ne marche toujours pas :cry:
en fait les controls sont bien ajouté à la listbox avec cette technique, mais rien n'est affiché dans la listbox
j'ajouterai que j'ai surchargé le ToString() de tous mes controls, pour avoir le texte qui me convient.Code:
1
2
3
4
5
6 listBoxItems.Items.Clear(); foreach (Control childControl in panel1.Controls) { listBoxItems.Items.Add(childControl); } listBoxItems.Refresh();
salut
c un peu normal
la liste box n'est pas "super" trop faite pour ajouter n'importe quoi dedans
Si tu veux que dans ta listbox, la representation graphique de tes controles soit à l'image de ce qu'ils sont (un bouton pour un bouton, etc...) peut-etre regardes du coté de ItemDraw ou un truc comme cela :)
CA te donnera la main pour faire le draw de ton bouton, ou autre controle
et avec la méthode DrawToBitmap d'un controle, tu dois pouvoir recuperer l'image du draw d'un composant et ensuite le claque dans ta listbox :)
Enfin, c'est juste une idée en passant :)
The Monz, TOulouse