TableLayoutPanel的自动调整大小

时间:2014-04-02 19:22:15

标签: vb.net winforms tablelayoutpanel flowlayoutpanel

我在TableLayoutPanel中有一个FlowLayoutPanel,因此我可以在桌子周围设置3D边框,但可以根据需要定义表格中控件的位置。我希望TableLayoutPanel填充FlowLayoutPanel但是当我使用对接属性时,TLP似乎聚集在FLP的顶部。

如何让TLP停靠,以便在调整表单大小时调整大小?

1 个答案:

答案 0 :(得分:1)

我通常发现Docking比它的价值更麻烦。在大多数情况下,锚定对我来说似乎更好。尝试禁用对接,然后调整控件大小,使其按照您想要的方式填充面板,然后将其设置为左,右,上,下锚定。

另外,正如其他人提到的那样,尝试使用普通面板而不是FlowLayoutPanel。特定的布局面板中包含特殊代码,用于处理可能会干扰其他调整大小逻辑的子元素大小。

附录

对接总是卡在容器的侧面,并强制另一个轴上的两侧对着边缘。锚定允许您设置特定位置,然后将控件的一侧绑定到它的父级,以便调整父级的大小使控件的那一侧与父级保持相同的距离。 99%的时间,根据我的经验,锚定可以完成对接所做的所有事情,而且更多的是挫败感。我认为Splitterbars是需要对接的少数几次之一,但即使这样,它也可以使用分割器面板进行模拟。像ToolStrips和菜单这样的东西是我能想到的对接的最佳用例。