C# 以当前状态显示窗体,而不是新窗体()

C# 以当前状态显示窗体,而不是新窗体(),c#,winforms,C#,Winforms,我已经创建了一个C#应用程序 这里我有两张表格,表格一和表格二 form2是从form1调用的 后面的表单2被隐藏起来 现在我想展示form1中的form2 请告诉我一些想法。您需要保持对Form2对象的引用,当您希望它可见时,只需调用frm2.Show()-不要使用new Form2()构造新的Form2对象-使用现有对象 // You need to contruct Form2 before calling Show(). Form2 frm2 = new Form2(); // So

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

这里我有两张表格,表格一和表格二

form2是从form1调用的

后面的表单2被隐藏起来

现在我想展示form1中的form2


请告诉我一些想法。

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

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


// Some handler somewhere
void btnShowForm2_Click(..., ...)
{
    frm2.Show();
}
编辑:正如Micah指出的,您将希望隐藏Form2而不是关闭它:

private void Form2_FormClosing(object sender, FormClosingEventArgs e)
{
  this.Hide();
  e.Cancel = true; // this cancels the close event.
}

您需要保持对
Form2
对象的引用,如果希望它可见,只需调用
frm2.Show()
-不要使用
new Form2()
构造新的
Form2
对象-使用现有对象

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


// Some handler somewhere
void btnShowForm2_Click(..., ...)
{
    frm2.Show();
}
编辑:正如Micah指出的,您将希望隐藏Form2而不是关闭它:

private void Form2_FormClosing(object sender, FormClosingEventArgs e)
{
  this.Hide();
  e.Cancel = true; // this cancels the close event.
}

在隐藏form2而不是form.close时,您需要使用form.hide()


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

在隐藏form2而不是form.close时,您将需要使用form.hide()


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

在类级别使用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();
}


}

以类级别的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();
}


}

“当前状态”是什么意思?没有太多的信息来提供答案@Sazzadurahaman我得到了答案,谢谢你,“当前状态”是什么意思?没有太多的信息来提供答案@Sazzadurahaman我得到了答案,谢谢你的评论。是的,我在使用form.hide(),但如何使它在form1中可见。我想Burgos可能有你的答案是的,我在使用form.hide(),但如何使它在form1中可见。我想Burgos可能有你的答案