2010-09-08 3 views
2

J'ai des paires de contrôles: immagebox + textbox = une paire. Je veux que ceux-ci apparaissent dans une seule grille/format tabulaire. Chaque cellule contient une paire image/texte.Grouper les contrôles dans les paires vb.net windows.forms - Liste dynamique dans le format de la grille

Je souhaite que cette grille défile car le nombre de paires est dynamique en fonction de la sélection de l'utilisateur.

Je suppose que je vais ajouter ces contrôles dans le code au moment de l'exécution lorsque l'utilisateur fait sa sélection.

Quelle est la meilleure façon d'y parvenir dans vb.net? TableLayoutPanel ou mieux?

Répondre

2

Une approche possible est la suivante.

Utilisez un panneau comme contenant. Dans ce panneau, vous pouvez ajouter un TableLayoutPanel défini comme AutoSize = True. Ajoutez deux colonnes à la disposition de votre table, puis ajoutez des contrôles dans les lignes si nécessaire. Le TableLayoutPanel se taille automatiquement automatiquement en fonction du contenu. Maintenant, faites que votre Panel soit AutoScroll = True et il ajoutera automatiquement les barres de défilement correctes pour que l'utilisateur puisse se déplacer et voir l'ensemble des contrôles contenus.

+0

Merci. Cela confirme ce que j'ai découvert - des panneaux à l'intérieur des panneaux. Ou les contrôles utilisateur w/même. Les panneaux peuvent être des panneaux ordinaires ou TableLayout dans TableLayout. J'ai trouvé étrange que, à court de surcharger l'événement onPaint, mes options de bordure étaient simples/3d noires - pas de lignes colorées ou de lignes pointillées pour distinguer les cellules. – pghcpa

Questions connexes