我正在使用c #Windows表单开发一个简单的应用程序。主要形式打开另一种形式,但我不想要两种形式。我希望当第二个表单打开时,第一个表单关闭。由于第一种形式是主要使用
this.Close();
显示第二个表格后将关闭两者。所以我用它来代替
private void btnSubmit_Click(object sender, EventArgs e)
{
frmData QS = new frmData();
QS.Show();
this.WindowState = FormWindowState.Minimized;
this.ShowInTaskbar = false;
}
private void frmData_FormClosed(object sender, FormClosedEventArgs e)
{
Application.Exit();
}
我想知道是否有其他方法可以做到这一点。
任何帮助将不胜感激。
答案 0 :(得分:10)
请勿将您的主要表单作为参数传递给Application.Run
:
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
MainForm frmMain = new MainForm();
frmMain.Show();
Application.Run();
因此,当您显示另一种形式时,您将可以关闭它:
private void btnSubmit_Click(object sender, EventArgs e)
{
frmData QS = new frmData();
QS.Show();
this.Close();
}
要关闭应用程序,您应该使用
Application.Exit();
答案 1 :(得分:3)
隐藏第一个表单。
private void btnSubmit_Click(object sender, EventArgs e)
{
frmData QS = new frmData();
QS.Show();
this.Hide();
}
private void frmData_FormClosed(object sender, FormClosedEventArgs e)
{
Application.Exit();
}
答案 2 :(得分:0)
实际上,如果您关闭主窗体,它将关闭同一项目的所有窗体,则无法关闭主窗体。您只能将其隐藏。
顺便说一句,您只能像这样new FormName().Show();