Initial Panels Position - image

嗨,我正在尝试执行以下操作的一个按钮动作:

1)当我第一次单击button1时,panel1将消失,panel2将获得Parent容器的大小。

2)如果我重新单击按钮,则panel1将再次出现,panel2将重新调整大小。

然后问题出在步骤2上,当我重新单击button1时,panel2的大小调整得不好,并以某种方式获得了固定值(检查:problem - image)。

我正在尝试这样的事情:

private void button1_Click(object sender, EventArgs e){

        if (panel1.Visible){
            panel1.Visible = false;
            panel1.Enabled = false;
            panel2.Dock = DockStyle.Fill;
        }
        else{
            panel1.Visible = true;
            panel1.Enabled = true;
            panel2.Dock = DockStyle.None;
            panel2.Anchor = ((AnchorStyles.Top | AnchorStyles.Bottom) | AnchorStyles.Left) | AnchorStyles.Right;
        }

    }


PS:检查图像链接,可能有助于了解问题。我的项目中的panel2也是WebBrowser组件。

谢谢。

最佳答案

实际上,您可能应该使用的控件是SplitContainer控件。

您可以按原样使用SplitContainer的Panel1作为您的第一个面板,在SplitContainer的Panel2中,可以将WebBrowser控件停靠在其中。

如果面板不应该由用户调整大小,则进行设置

splitContainer1.IsSplitterFixed = true;


要隐藏第一个面板,您需要调用的是:

splitContainer1.Panel1Collapsed = true;


您显然将其设置为false可以将其恢复。

关于c# - 隐藏和重新显示Windows窗体中的面板/组件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27350285/

10-10 07:36