Can Margin be enforced even with Dock property set

2019-04-17 20:12发布

问题:

I have a WinForms Form with a few controls on it. All of them are GrouBox controls and I want them stacked, with a vertical margin set between them. I have set the Dock property to Top and it stacks them alright, but ignores the margin (controls are as close to each other as they can be).

Can these margins still somehow be enforced? Basically, it would calculate the regular docked position (as if the margin was 0) then apply the margin. Is something like this possible?

The other way I've tried this is with FlowLayoutPanel with TopDown option. However, then I need to manually set the size and Left/Right anchors.

Is there any easy way to acomplish this scenario or should I stick with what I already have?

回答1:

The set docking property will ignore your padding properties between GroupBox controls, so yes, your best bet is the Flow or Table panels to do this.



回答2:

Place each GroupBox in a Panel, Set Panel Dock Property to Top, Group Box Dock Property to Fill. Then set Padding on the panels.



回答3:

Add a dummy transparent panel docked between each textbox with a height equal to the exact distance you require.