Question

Dans notre projet, SharpCâblé, nous essayons de créer un composant de téléchargement similaire aux fenêtres de téléchargement de Firefox ou Safari.Autrement dit, une seule liste descendante de téléchargements qui sont des contrôles personnalisés contenant des barres de progression, des boutons, etc.

Les exigences sont qu'il doit y avoir une seule liste, avec un élément sur chaque ligne.Chaque élément doit être un contrôle personnalisé.La liste entière doit être redimensionnée dynamiquement, de sorte que lorsque vous la rallongez/raccourcissez, la liste ajoute une barre de défilement si nécessaire et lorsque vous la rendez plus fine/plus large, les contrôles personnalisés doivent être redimensionnés à la largeur de la liste.

Nous avons essayé d'utiliser un FlowLayoutPanel mais nous n'avons pas réussi à redimensionner pour fonctionner comme nous le souhaitons.De préférence, nous devrions uniquement définir l’ancrage des contrôles personnalisés sur Gauche et Droite.Nous avons également pensé à utiliser un TableLayoutPanel mais j'ai trouvé que l'ajout dynamique de lignes représentait jusqu'à présent une surcharge trop importante.

Cela doit être un cas d'utilisation assez courant, et cela me semble un peu bizarre que le FlowLayoutPanel n'a aucun moyen intuitif de le faire. Quelqu'un a-t-il fait quelque chose de similaire ou a-t-il des trucs ou astuces pour nous aider à démarrer ?

Acclamations!
/Adam

Était-ce utile?

La solution

Si vous ne souhaitez pas utiliser la liaison de données (via le DataRepeater contrôle, comme mentionné ci-dessus), vous pouvez utiliser un Panel contrôler et régler son AutoScroll propriété sur true (pour activer les barres de défilement).

Ensuite, vous pouvez ajouter manuellement vos contrôles personnalisés et définir le Dock propriété de chacun à Top.

Autres conseils

.NET 3.5 SP1 a introduit un Répéteur de données Contrôle Windows Forms qui semble faire ce que vous voulez.Liez-le à la liste des « téléchargements » (ou à ce que représente votre liste) et personnalisez chaque panneau d'éléments pour inclure les contrôles dont vous avez besoin.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top