关闭主表格

时间:2013-07-23 21:01:01

标签: c# winforms

我正在使用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();
    }

我想知道是否有其他方法可以做到这一点。

任何帮助将不胜感激。

3 个答案:

答案 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();

中的一个简单行中打开并显示表单。