以当前状态显示表单而不是新表单()

时间:2012-12-11 15:34:23

标签: c# winforms

我创建了一个C#应用程序。

这里我有两种形式, form1 form2

form1 调用

form2

以后 form2 被隐藏。

现在我想从 form1 中显示 form2

请给我一些想法。

3 个答案:

答案 0 :(得分:2)

您需要保持对Form2对象的引用,并且当您希望它可见时,只需调用frm2.Show() - 不要使用{{1}构造新的Form2对象} - 使用现有的。

new Form2()

编辑:正如Micah指出的那样,你会想要隐藏Form2而不是关闭它:

// You need to contruct Form2 before calling Show().
Form2 frm2 = new Form2();


// Some handler somewhere
void btnShowForm2_Click(..., ...)
{
    frm2.Show();
}

答案 1 :(得分:1)

隐藏form2而不是form.close

时,您将需要使用form.hide()

保留对form2的引用,并在想要再次显示时调用form.show

答案 2 :(得分:1)

在类级别获取form2实例变量

例如

Public Class Form1
{
Form frm2;

//Show form here
protected void Button1_Clik
{
frm2=new Form2();
frm2.Show();
}

//Even the form is hidden, you may show the same instance /same state of form again 
protected void Button2_Click()
{
frm2.Show();
}


}