嗨,我正在用 c# 做一个简单的活动。我想使用一个按钮打开一个新的form2,当我按下该按钮时form1会自动关闭。这是我的代码:
Form2 form2 = new Form2();
form2.ShowDialog();
this.Close();
现在我不知道我将使用什么方法来自动关闭form1。谢谢..
嗨,我正在用 c# 做一个简单的活动。我想使用一个按钮打开一个新的form2,当我按下该按钮时form1会自动关闭。这是我的代码:
Form2 form2 = new Form2();
form2.ShowDialog();
this.Close();
现在我不知道我将使用什么方法来自动关闭form1。谢谢..
无法工作,因为代码控制将在form2.ShowDialog();
.
您必须以非模态方式显示 form2:
Form2 form2 = new Form2();
form2.Show();
this.Close();
或者我猜你可以通过隐藏表格来伪造它:
Form2 form2 = new Form2();
this.Visible = false;
form2.Show();
this.Visible = true;
尝试两个版本,看看哪个版本更适合您的情况。调用ShowDialog();
会将表单显示为模态,导致所有用户鼠标/键盘输入仅限于 form2,直到您关闭它。
编辑: Form2 必须声明为成员变量,如果它在按钮事件中被 decalred,它将超出范围。
Form2 form2 = new Form2();
private void btnOK_Click(object sender, EventArgs e)
{
this.Visible = false;
form2.Show();
this.Visible = true;
}
而不是使用this.Close();
usethis.Hide()
和 on formclosure 事件Form2
give form1.Show()
。
有关更多信息,请通过此链接(我之前问过这个问题)。