首页 > 解决方案 > 表单面板调整大小

问题描述

如何相应地调整表单内的面板大小?

我的表格有 3 个面板

带有 3 个面板的表格

如果我将 panel2.visible 设置为 false,则 panel3 会占用空间。

面板 3 到面板 2

如果我将 panel1.visible 设置为 false,则 panel3 也会占用其余部分。

面板 3 到面板 1 和 2

回到原始形式 - 所有 3 个面板都存在。

如果我将 panel1.visible 设置为 false,则 panel2 和 3 占用 panel1 的空间

面板 2 和 3 到面板 1

一旦面板 1 或 2 再次可见,面板 3 将恢复原状。

标签: c#winformslayoutpanel

解决方案


只是一个附加信息,似乎 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);
            }    

推荐阅读