Afficher une liste de User Control

Résolu
Glucoz21 Messages postés 6 Date d'inscription mardi 9 septembre 2008 Statut Membre Dernière intervention 15 avril 2010 - 22 janv. 2010 à 09:01
Glucoz21 Messages postés 6 Date d'inscription mardi 9 septembre 2008 Statut Membre Dernière intervention 15 avril 2010 - 4 févr. 2010 à 10:29
Bonjour à tous.

Voila je suis sur un problème depuis 2 jours et malgré mes recherches sur internet, je ne trouve pas comment le résoudre...
Je m'adresse donc à vos grandes compétences et vous demande votre aide.

Mon problème : je cherche à afficher une liste d'éléments bien particuliers. Pour cela j'ai donc créé un User Control qui va bien et je souhaite, à travers le code, faire afficher ma liste de User Control en ligne les uns à côté des autres...
Or je n'y arrive pas. J'ai essayé avec une listBox mais il n'y a que le nom de mes UserControl qui s'affichent les uns à la suite des autres.

// Pour chaque élément dans ma boucle, je crée un User Control et je l'affiche
ucTest newUcTest = new ucTest(titre, titre2, couleur);
listbox1.Items.Add(newUcTest);


J'ai pensé aussi à la listView mais je ne vois pas comment faire...

Si quelqu'un connait la solution, merci de m'aider.

En attendant, je vous souhaite une bonne journée.

Cordialement,

2 réponses

Glucoz21 Messages postés 6 Date d'inscription mardi 9 septembre 2008 Statut Membre Dernière intervention 15 avril 2010 1
4 févr. 2010 à 10:29
Bonjour à tous.

J'ai résolu mon problème. J'ai donc utilisé le panel dans lequel j'ajoute mes différents userControl au fur et à mesure puis je les place dans le panel les uns à côté des autres.

Je vous met ici ma solution au cas où d'autres personnes auraient besoin de cette astuce.


ucMonUserControl newUserControl;
// Positionnement du usercontrol dans le panel.
// Si aucun controle dans le panel, on le positionne en premier
// S'il y a déjà un contrôle, on place le nouveau contrôle juste à droite de ce contrôle
if (panel1.Controls.Count == 0)
{
    newUserControl.Location = new System.Drawing.Point(0, 0);
}
else
{
    Control previous = (Control)panel1.Controls[panel1.Controls.Count - 1];
    newUserControl.Location = new Point(previous.Location.X + previous.Width, 0);
}
this.panel1.Controls.Add(ucMonArret);
panel1.AutoScroll = true;



Voilà, bon développement à tous !
1
BunoCS Messages postés 15472 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 25 mars 2024 103
22 janv. 2010 à 09:36
Hello,
Tu veux afficher tes composants les uns à la suite des autres?
Regarde le composant StackPanel dans ce cas.


@+
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
0
Rejoignez-nous