我已经制作了一个窗口,其中我将有两个组/面板,并且它们之间有一些按钮。我想以一种方式对调整大小行为进行编码,当窗口展开时,两个面板会增加它们的宽度,同时保持它们之间的距离不变。
请看这个样机:
如上所述,我希望“本地”和“服务器”面板调整大小,同时保持它们之间的距离相同。如果我使用锚点(顶部+左侧+右侧+底部),左侧面板将与右侧面板重叠,右侧面板的宽度将从窗口中移出。我希望他们平等地分享窗口增加的宽度。
至于介于两者之间的按钮,我将ancors仅保留为Top。通过从按钮中删除左锚点,当窗口展开时,它会自动将自身置于窗口的中心,这正是我想要的方式。
如何管理面板大小调整的任何想法?
感谢。
答案 0 :(得分:15)
使用 TableLayoutPanel 控件。
首先将TableLayout添加到Form并将其Dock()属性设置为Fill。 接下来,您需要设置3列和2行。将两个按钮添加到中间列,每个按钮都在自己的行中。然后,设置列值,使它们如下所示: 两行都保持50%的行。 现在将两个GroupBox添加到第一行的第一列和第三列。 对于两个GroupBox,将Dock()设置为Fill,将RowSpan()设置为2。 对于顶部按钮,仅打开底部锚点。 对于底部按钮,仅转动顶部锚点。 对于TableLayoutPanel,将Padding()设置为5,5,5,5。
以下是我完成后的样子:
调整窗口大小并观察控件的行为......