Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net TableLayoutPanel的自动调整大小_Vb.net_Winforms_Tablelayoutpanel_Flowlayoutpanel - Fatal编程技术网

Vb.net TableLayoutPanel的自动调整大小

Vb.net TableLayoutPanel的自动调整大小,vb.net,winforms,tablelayoutpanel,flowlayoutpanel,Vb.net,Winforms,Tablelayoutpanel,Flowlayoutpanel,我在FlowLayoutPanel中有一个TableLayoutPanel,这样我可以在表格周围有一个3D边框,但可以根据需要定义表格中控件的位置。我想让TableLayoutPanel填充FlowLayoutPanel,但当我使用停靠属性时,TLP似乎聚集在FLP的顶部 如何使TLP对接,以便在调整表单大小时调整其大小?我通常发现对接比它的价值更麻烦。在大多数情况下,锚定似乎对我更有效。尝试禁用停靠,然后调整控件的大小,使其以您想要的方式填充面板,然后将其设置为在左侧、右侧、顶部和底部锚定 另

我在
FlowLayoutPanel
中有一个
TableLayoutPanel
,这样我可以在表格周围有一个3D边框,但可以根据需要定义表格中控件的位置。我想让
TableLayoutPanel
填充
FlowLayoutPanel
,但当我使用停靠属性时,TLP似乎聚集在FLP的顶部


如何使TLP对接,以便在调整表单大小时调整其大小?

我通常发现对接比它的价值更麻烦。在大多数情况下,锚定似乎对我更有效。尝试禁用停靠,然后调整控件的大小,使其以您想要的方式填充面板,然后将其设置为在左侧、右侧、顶部和底部锚定

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

附录


停靠始终紧靠容器的侧面,并迫使另一轴上的两个侧面也紧靠边缘。锚定允许您设置特定位置,然后将控件的一侧绑定到其父控件,以便调整父控件的大小可以使控件的该一侧与父控件保持相同的距离。根据我的经验,99%的时间里,锚定完成了对接所做的一切,甚至更多,而挫折感要小得多。我认为splitterbar是为数不多的需要对接的工具之一,但即使如此,也可以使用splitterpanel来模拟它。工具条和菜单之类的东西是我能想到的最佳对接用例。

不要使用FlowLayoutPanel。只是一个面板。或者不允许表单的大小改变。不幸的是,一些用户的分辨率为800 x 600,而其他用户的设置更为合理,所以我一直坚持使用一个简单的面板来调整大小,使所有内容都很到位。我对停靠和锚定之间的区别仍然有点模糊——我倾向于同意你关于使用锚定的看法,除非有理由不这样做。你知道什么时候有理由不这么做吗?答案中增加了关于何时使用停靠与锚定的附加信息,因为它太长了,无法放在评论中。谢谢你的附录,这正是我所想的,但让你说出来的话不那么让人困惑。