按下按钮自动展开窗口

时间:2013-04-24 04:57:50

标签: c# .net winforms

我正在使用“Microsoft Visual Studio 2010”和C#语言。我的用户界面如下所示(在用户点击Advance按钮之前): enter image description here

如果用户点击Advance按钮,我希望它显示窗口的其余部分,如下图所示:

enter image description here

请告诉我,在用户点击Advance按钮之前,如何隐藏所有这些信息?如何首先使用较小的窗口,如第一张图所示。当用户按下advance按钮时,它将展开并显示其余部分。 如果你能告诉我细节,我真的很感激

5 个答案:

答案 0 :(得分:3)

所有WinForms控件(包括Form本身)都具有AutoSize属性。设置为true时,它会使控件自动调整大小以适应其内容。

因此,您应该将“高级”控件放入UserControl并将该UserControl添加到表单中(或者如果您是懒惰的话,可以使用Panel)。然后,单击“高级”按钮时,切换UserControl的可见性。表格应相应地自动调整其大小。

或者,您可以将SplitContainer添加到表单中,该表单可以折叠其两个面板中的一个。然后,“高级”按钮将切换Panel2Collapsed属性的状态以展开/折叠底部面板。

注意:在语法上,该按钮的标题应为“高级”,而不是“高级”。为了改善用户体验,我建议添加某种指示器,按钮可以扩展窗口上的可用信息,而不是提交或打开第二个窗口。大多数“扩展器”按钮使用向下箭头来实现这一点,例如

您可以使用此图像或Unicode字形。例如,black down-pointing triangle。在面板展开时将其更改为向上指向的三角形。

答案 1 :(得分:1)

第一个表单的OnLoad事件将每个控件或组框(无论您使用哪个)的可见性设置为false。

并且提前按钮点击事件使其可见性为真。

代码如下:

private void FirstForm_Load(object sender, EventArgs e)
{
  controlName.Visible=false;
}

 private void btnAdvance_Click(object sender, EventArgs e)
 {
     controlName.Visible=true;
 }

MSDN for Visibility Property:

http://msdn.microsoft.com/en-IN/library/system.windows.uielement.visibility.aspx

希望它有所帮助。

答案 2 :(得分:1)

首先将以下属性设置为false 像所有标签和文本框一样。然后在高级按钮的单击事件中设置所有属性可见true。

答案 3 :(得分:1)

1.在表单底部添加一个面板,并添加您需要在高级按钮单击中显示的所有控件。

2.更改面板和表单的以下属性

   > AutoSize  >> true
   > AutoSizeMode  >> GrowAndShrink

3.然后在表单加载事件中,您可以使用如下

private void Form1_Load(object sender, EventArgs e)
{
    panel1.Visible = false;
}

4。然后在高级按钮单击事件

private void button1_Click_1(object sender, EventArgs e)
{
     //panel1.Visible = true;
        string value1 = button1.Text;
        switch(value1)
        {
            case "Expand":
                panel1.Visible = true;
                break;
            case "Reduce":
                panel1.Visible = false;
                break;
        }
        button1.Text = "Reduce";
        if(panel1.Visible==true)
        {
            button1.Text = "Reduce";
        }
        else if(panel1.Visible==false)
        {
            button1.Text = "Expand";
        }     
}

答案 4 :(得分:0)

你可以这样做,

1.在表单底部添加一个面板,并添加所有控件     您需要在高级按钮中单击显示。

2.更改面板和表单的以下属性

       > AutoSize  >> true
       > AutoSizeMode  >> GrowAndShrink

3.然后在表单加载事件中,您可以使用如下

    private void Form1_Load(object sender, EventArgs e)
    {
        panel1.Visible = false;
    }

4。然后在高级按钮单击事件

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

希望这将有助于您和任何其他人在将来需要这个......!