2012-11-12 32 views
2

嗨,我正在做一个简单的活动在C#中。我想用一个按钮来打开一个新的窗口2,当我按下该按钮。这里是我的代码在Form1将自动关闭:在C#中使用按钮打开一个新窗体#

 Form2 form2 = new Form2(); 
     form2.ShowDialog(); 
     this.Close(); 

现在我没有想法我会用什么方法来自动关闭Form1中。谢谢..

+0

http://stackoverflow.com/questions/13226393/show-same-form-which-was-hidden-before – andy

回答

3

而不是使用this.Close();使用this.Hide()和的FormClosing事件的Form2form1.Show()的。

欲了解更多信息,请通过此link(我之前问过这个问题)。

4

不会工作,因为代码控制将停止在form2.ShowDialog();

你将不得不显示窗口2在非模态的方式:

Form2 form2 = new Form2(); 
form2.Show(); 
this.Close(); 

或者我想你可以伪造它通过隐藏形式:

Form2 form2 = new Form2(); 
this.Visible = false; 
form2.Show(); 
this.Visible = true; 

尝试两个版本,看看哪些是在你的情况下更好。调用ShowDialog();将显示窗体为Modal,导致所有用户鼠标/键盘输入被限制为form2,直到您关闭它为止。

编辑: Form2必须声明为成员变量,如果它在按钮事件中被剥落,它将超出范围。

Form2 form2 = new Form2(); 
private void btnOK_Click(object sender, EventArgs e) 
{ 
this.Visible = false; 
form2.Show(); 
this.Visible = true; 
} 
+0

先生会用什么方法?你能告诉我一些代码吗?谢谢 – Jay

+0

如果您想完全关闭它,请使用上面的代码1。 – ryadavilli

+0

@Jeremy先生,当我使用第一个代码。这两个表格是自动关闭的。 – Jay

相关问题