2011-08-14 15 views
28

Mam WinForms Form z kilkoma kontrolkami na nim. Wszystkie one są kontrolkami GrouBox i chcę je ułożyć, z pionowym marginesem między nimi. Ustawiłem właściwość Dock na Top i układa je poprawnie, ale ignoruje margines (kontrolki są tak blisko siebie, jak tylko mogą być).Czy margines może być wymuszony nawet przy ustawieniu właściwości Dock?

Czy te marginesy nadal mogą być egzekwowane? Zasadniczo obliczy on normalną zadokowaną pozycję (tak, jakby margines wynosił 0), a następnie zastosuj margines. Czy coś takiego jest możliwe?

W inny sposób próbowałem to z FlowLayoutPanel z opcją TopDown. Jednak muszę ręcznie ustawić rozmiar i lewą/prawą kotwicę.

Czy istnieje jakiś prosty sposób na osiągnięcie tego scenariusza, czy powinienem trzymać się tego, co już mam?

+3

Spróbuj użyć "dopełnienia" zamiast "marginesu", gdy kontrola jest zadokowana. –

+1

Tak, wymagane jest FLP. Ustaw właściwość Margines na elementach sterujących w środku, aby utworzyć lukę. –

Odpowiedz

9

Ustawiona właściwość dokowania zignoruje właściwości wypełnienia między kontrolkami GroupBox, więc tak, najlepszym rozwiązaniem są panele Przepływ lub Tabela, aby to zrobić.

26

Umieść każdą blok Grupę w Panelu, Ustaw Właściwość Docku Panelu do góry, Pole Grupa Dock Właściwość do wypełnienia. Następnie ustaw Wyściółkę na panelach.

+6

Padding jest kluczem! Przynajmniej w moim przypadku. – Arman

2

Dodaj obojętny przezroczysty panel zadokowany między każdym polem tekstowym o wysokości równej dokładnej odległości, jakiej potrzebujesz.

Powiązane problemy