我正在使用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;
}
答案 0 :(得分:1)
您应该使用panel1.Dock = DockStyle.Fill
或panel2.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