设置与面板尺寸相关的表单尺寸

时间:2013-03-23 20:47:55

标签: c# .net winforms

我正在使用C#,我有一个WinForms应用程序。

我有一个主窗体,其中包含一些按钮,让我们说按钮A和B. 我有另一种形式,FormB有2个不同尺寸的面板。

我要做的是当用户点击按钮A时显示FormB 第一个面板的尺寸和第一个面板。 当用户点击按钮B时,将显示带有第二个面板尺寸的formB 并提出第二个小组。

我知道如何在每种情况下展示这些面板,但表格大小不会像我预期的那样改变。

我尝试使用 Dock 属性并将其设置为填充..但没有任何反应。

    private void FormB_Load(object sender, EventArgs e)
    {
        panel1.Location = panel2.Location = new Point();
        timer1.Start();

        if (!first)
        {
            panel1.Visible = false;
            panel2.Visible = true;
        }
        else
        {
            panel1.Visible = true;
            panel2.Visible = false;
        }
        this.Dock = DockStyle.Fill;
    }

1 个答案:

答案 0 :(得分:1)

您应该使用panel1.Dock = DockStyle.Fillpanel2.Dock = DockStyle.Fill,而不是this.Dock = DockStyle.Fill,因为您要设置Panel的Dock属性而不是Form

private void FormB_Load(object sender, EventArgs e)
    {
        panel1.Location = panel2.Location = new Point();
        timer1.Start();

        if (!first)
        {
            panel1.Visible = false;
            panel2.Visible = true;
            panel2.Dock = DockStyle.Fill;
        }
        else
        {
            panel1.Visible = true;
            panel2.Visible = false;
            panel1.Dock = DockStyle.Fill;
        }
    }

编辑但是之前的代码会根据表单的大小更改面板的大小。由于您希望将表单的大小设置为面板的大小,因此您应该设置Size的{​​{1}}属性,如下所示:

Form