Можно ли применить Margin даже при установленном свойстве Dock? - PullRequest
32 голосов
/ 14 августа 2011

У меня есть WinForms Form с несколькими элементами управления. Все они являются GrouBox элементами управления, и я хочу, чтобы они были сложены, с вертикальным полем между ними. Я установил для свойства Dock значение Top, и оно корректно складывается, но игнорирует поля (элементы управления расположены настолько близко друг к другу, насколько это возможно).

Могут ли эти поля все еще как-то применяться? По сути, он вычислит обычную позицию в доке (как если бы поле было равно 0), а затем применил маржу. Возможно ли что-то подобное?

Другой способ, которым я пробовал это с FlowLayoutPanel с опцией TopDown. Однако тогда мне нужно вручную установить размер и левый / правый якоря.

Есть ли какой-нибудь простой способ реализовать этот сценарий или я должен придерживаться того, что у меня уже есть?

Ответы [ 3 ]

29 голосов
/ 09 июля 2013

Поместите каждый GroupBox в Panel, установите свойство Dock панели вверху, свойство Dock группы ячеек для заполнения. Затем установите Padding на панели.

9 голосов
/ 14 августа 2011

Свойство set docking игнорирует ваши свойства заполнения между элементами управления GroupBox, поэтому да, для этого лучше всего использовать панели Flow или Table.

3 голосов
/ 24 февраля 2015

Добавьте фиктивную прозрачную панель, закрепленную между каждым текстовым полем, с высотой, равной точному необходимому расстоянию.

...