2012-12-11 36 views
0

我创建了一个C#应用程序的新形式。显示在其当前状态的形式,而不是()

这里我有两种形式,form1form2

form2被称为form1

后来窗口2由隐藏。

现在我想显示form2 from form1

请给我一些想法。

+2

'form2.Show()'? –

+0

'现状'是什么意思? –

+0

没有太多的信息来提供答案! –

回答

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(); 
} 

编辑:弥指出的那样,你将要隐藏的,而不是将其关闭窗体2:

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

的感谢!它的工作..... –

1

隐藏在窗口2,而不是form.close的你将要使用form.hide()

保持对它的引用窗口2并调用form.show当你想再次显示

+0

是的我使用form.hide(),但如何使它从form1可见。 –

+0

我认为布尔戈斯可能会有你的答案 –

1

采取窗口2实例变量在类级别

示例

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(); 
} 


} 
相关问题