J'ai un WinForms Form
avec quelques contrôles dessus. Tous sont des contrôles GrouBox
et je veux qu'ils soient empilés, avec une marge verticale définie entre eux. J'ai défini la propriété Dock
sur Top et elle les empile bien, mais ignore la marge (les contrôles sont aussi proches les uns des autres qu'ils peuvent l'être).
Ces marges peuvent-elles encore être appliquées d'une manière ou d'une autre? Fondamentalement, il calculerait la position ancrée normale (comme si la marge était 0) puis appliquait la marge. Est-ce que quelque chose comme ça est possible?
L'autre façon que j'ai essayé c'est avec FlowLayoutPanel
avec TopDown
option. Cependant, je dois ensuite définir manuellement la taille et les ancres gauche/droite.
Existe-t-il un moyen facile de réaliser ce scénario ou dois-je m'en tenir à ce que j'ai déjà?
La propriété d'ancrage définie ignorera vos propriétés de remplissage entre les contrôles GroupBox, donc oui, votre meilleur pari est les panneaux Flow ou Table pour ce faire.
Placez chaque GroupBox dans un panneau, définissez la propriété Dock Dock du panneau sur Top, la propriété Group Dock Dock sur Fill. Ensuite, réglez le rembourrage sur les panneaux.
Ajoutez un panneau transparent factice ancré entre chaque zone de texte avec une hauteur égale à la distance exacte dont vous avez besoin.