0

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

这里我有两种形式,form1form2

从form1调用form2

后来form2被隐藏了。

现在我想从form1显示form2

请给我一些想法。

4

3 回答 3

2

您需要保持对Form2对象的引用,并且当您希望它可见时,只需调用frm2.Show()- 不要使用现有对象构造新Form2对象。new 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.
}
于 2012-12-11T15:36:19.380 回答
1

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

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

于 2012-12-11T15:36:29.760 回答
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();
}


}
于 2012-12-11T15:42:31.080 回答