VB / C#:平均调整两个控件的大小

时间:2013-09-29 05:40:14

标签: visual-studio resize anchor panel groupbox

我已经制作了一个窗口,其中我将有两个组/面板,并且它们之间有一些按钮。我想以一种方式对调整大小行为进行编码,当窗口展开时,两个面板会增加它们的宽度,同时保持它们之间的距离不变。

请看这个样机:

window resizing

如上所述,我希望“本地”和“服务器”面板调整大小,同时保持它们之间的距离相同。如果我使用锚点(顶部+左侧+右侧+底部),左侧面板将与右侧面板重叠,右侧面板的宽度将从窗口中移出。我希望他们平等地分享窗口增加的宽度。

至于介于两者之间的按钮,我将ancors仅保留为Top。通过从按钮中删除左锚点,当窗口展开时,它会自动将自身置于窗口的中心,这正是我想要的方式。

如何管理面板大小调整的任何想法?

感谢。

1 个答案:

答案 0 :(得分:15)

使用 TableLayoutPanel 控件。

首先将TableLayout添加到Form并将其Dock()属性设置为Fill。 接下来,您需要设置3列和2行。将两个按钮添加到中间列,每个按钮都在自己的行中。然后,设置列值,使它们如下所示: enter image description here 两行都保持50%的行。 现在将两个GroupBox添加到第一行的第一列和第三列。 对于两个GroupBox,将Dock()设置为Fill,将RowSpan()设置为2。 对于顶部按钮,仅打开底部锚点。 对于底部按钮,仅转动顶部锚点。 对于TableLayoutPanel,将Padding()设置为5,5,5,5。

以下是我完成后的样子: enter image description here

调整窗口大小并观察控件的行为......