嗨,我正在做一个简单的活动在C#中。我想用一个按钮来打开一个新的窗口2,当我按下该按钮。这里是我的代码在Form1将自动关闭:在C#中使用按钮打开一个新窗体#
Form2 form2 = new Form2();
form2.ShowDialog();
this.Close();
现在我没有想法我会用什么方法来自动关闭Form1中。谢谢..
嗨,我正在做一个简单的活动在C#中。我想用一个按钮来打开一个新的窗口2,当我按下该按钮。这里是我的代码在Form1将自动关闭:在C#中使用按钮打开一个新窗体#
Form2 form2 = new Form2();
form2.ShowDialog();
this.Close();
现在我没有想法我会用什么方法来自动关闭Form1中。谢谢..
而不是使用this.Close();
使用this.Hide()
和的FormClosing事件的Form2
给form1.Show()
的。
欲了解更多信息,请通过此link(我之前问过这个问题)。
不会工作,因为代码控制将停止在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;
}
先生会用什么方法?你能告诉我一些代码吗?谢谢 – Jay
如果您想完全关闭它,请使用上面的代码1。 – ryadavilli
@Jeremy先生,当我使用第一个代码。这两个表格是自动关闭的。 – Jay
http://stackoverflow.com/questions/13226393/show-same-form-which-was-hidden-before – andy