Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/271.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
C# 拆分容器控件是否自动调整窗体大小?_C#_.net_Windows_Forms - Fatal编程技术网

C# 拆分容器控件是否自动调整窗体大小?

C# 拆分容器控件是否自动调整窗体大小?,c#,.net,windows,forms,C#,.net,Windows,Forms,目前,我正在使用windows窗体中的拆分容器控件和一个按钮,该按钮在剪切拆分容器时隐藏/显示拆分容器的panel1或panel2。面板1和面板2在主窗体上具有不同的高度 问题在于,一旦面板被隐藏,保存拆分容器的主窗体就不会自动调整大小 拆分容器上是否有可以调整父控件高度的选项?或者,您中的一些人知道如何在spllit容器的一个面板隐藏或显示后处理窗体的这种大小调整?只需将面板直接放置到窗体上,并将其Location()属性设置为相同的值(确保一个面板未嵌套在另一个面板中)。使其中一个最初隐藏,

目前,我正在使用windows窗体中的拆分容器控件和一个按钮,该按钮在剪切拆分容器时隐藏/显示拆分容器的panel1或panel2。面板1和面板2在主窗体上具有不同的高度

问题在于,一旦面板被隐藏,保存拆分容器的主窗体就不会自动调整大小


拆分容器上是否有可以调整父控件高度的选项?或者,您中的一些人知道如何在spllit容器的一个面板隐藏或显示后处理窗体的这种大小调整?

只需将面板直接放置到窗体上,并将其Location()属性设置为相同的值(确保一个面板未嵌套在另一个面板中)。使其中一个最初隐藏,然后在运行时切换其可见性。这会使表单的设计变得有点棘手

将窗体的AutoSize属性设置为True,将AutoSizeMode属性设置为GrowthandShrink:

    private void button1_Click_1(object sender, EventArgs e)
    {
        panel1.Visible = !panel1.Visible;
        panel2.Visible = !panel2.Visible;
    }

我的测试表单自动更改大小以适应当前可见面板的大小。

只需设置scSplitContainer.Panel1Collapsed或scSplitContainer.Panel2Collapsed=true,这不是拆分容器的目的。拆分容器不会更改表单大小,而是允许您在两个面板之间共享表单大小。因此,如果其中一个面板没有使用提供的任何空间,那么另一个面板将使用提供的所有空间。因此,有一些其他容器可以在其内容隐藏或显示后调整表单大小?我没有看到。你当然可以写一篇,当然有;将容器和窗体的属性设置为“增长”和“收缩”。几个容器控件(面板、FlowLayoutPanel,…)具有自动调整大小属性,当您对其调整大小事件进行编码以适应窗体时。ClientSize您得到了所需的内容….:<代码>如果(formsize小于panelsize)Form.ClientSize=panel.Size