表单面板调整大小
Form Panels Resizing
如何相应地调整表单内面板的大小?
我的表单有 3 个面板
如果我设置panel2.visible为false,panel3会占用space.
如果我设置panel1.visible为false,panel3也占据了剩下的
回到原来的形式 - 所有 3 个面板都存在。
如果我设置panel1.visible为false,panel2和3占据panel1的space
面板 1 或 2 再次可见后,面板 3 将恢复原状。
从你的案例来看似乎是这样。即使隐藏面板 2 和 3,面板 1 也将始终位于顶部。
同样,面板 2 将始终左对齐。面板 3 将始终占用可用 space .
请在面板控件上设置停靠栏属性。
Panel1.Dock = top
Panel2.Dock = left
Panel3.Dock = fill
还有一点,当控件隐藏时,将它们的大小设置为 0。当可见时,将大小设置为默认值。
希望对您有所帮助。
只是一个补充信息,似乎 tablelayout 可以解决我的问题,但我更喜欢@ANaik 的解决方案。
if (myPanel.Visible)
{
myPanel.Visible = false;
tableLayoutPanel1.SetCellPosition(myPanel, new
TableLayoutPanelCellPosition(0, 1));
tableLayoutPanel1.SetColumnSpan(myPanel, 2);
}
else
{
myPanel.Visible = true;
tableLayoutPanel1.SetCellPosition(myPanel, new TableLayoutPanelCellPosition(1, 1));
tableLayoutPanel1.SetColumnSpan(myPanel, 1);
}
如何相应地调整表单内面板的大小?
我的表单有 3 个面板
如果我设置panel2.visible为false,panel3会占用space.
如果我设置panel1.visible为false,panel3也占据了剩下的
回到原来的形式 - 所有 3 个面板都存在。
如果我设置panel1.visible为false,panel2和3占据panel1的space
面板 1 或 2 再次可见后,面板 3 将恢复原状。
从你的案例来看似乎是这样。即使隐藏面板 2 和 3,面板 1 也将始终位于顶部。 同样,面板 2 将始终左对齐。面板 3 将始终占用可用 space .
请在面板控件上设置停靠栏属性。
Panel1.Dock = top
Panel2.Dock = left
Panel3.Dock = fill
还有一点,当控件隐藏时,将它们的大小设置为 0。当可见时,将大小设置为默认值。
希望对您有所帮助。
只是一个补充信息,似乎 tablelayout 可以解决我的问题,但我更喜欢@ANaik 的解决方案。
if (myPanel.Visible)
{
myPanel.Visible = false;
tableLayoutPanel1.SetCellPosition(myPanel, new
TableLayoutPanelCellPosition(0, 1));
tableLayoutPanel1.SetColumnSpan(myPanel, 2);
}
else
{
myPanel.Visible = true;
tableLayoutPanel1.SetCellPosition(myPanel, new TableLayoutPanelCellPosition(1, 1));
tableLayoutPanel1.SetColumnSpan(myPanel, 1);
}