如何从ShowDialog窗口关闭主窗口或应用程序

时间:2011-09-09 02:54:48

标签: c# .net winforms

根据问题。所以我在应用程序启动时加载了一个主窗口(MainForm)。然后在MainForm_load事件中,它会显示另一个表单(LoginForm.showDialog())。

我苦苦思索的是,如果用户关闭LoginForm(右上角的x标志)它关闭应用程序怎么办? 在LoginForm中只有一个标有" Login"

的按钮

之前的答案:)


我一直在尝试这个

    private void frmLogin_FormClosing(object sender, FormClosingEventArgs e)
    {

        if (e.CloseReason == CloseReason.UserClosing)
        {
            Application.Exit();

        }
        else
        {
            this.Dispose();
        }
    }

但它在Application.Exit()

上的操作异常无效

所以我想要的只是当我使用[x]关闭按钮关闭此登录表单时,应用程序退出。

2 个答案:

答案 0 :(得分:2)

在Program.cs中执行此操作,如下所示:

    static void Main() {
        Application.EnableVisualStyles();
        Application.SetCompatibleTextRenderingDefault(false);
        using (var login = new LoginForm()) {
            if (login.ShowDialog() != DialogResult.OK) return;
        }
        Application.Run(new MainForm());
    }

答案 1 :(得分:0)

我不应该在第一个使用frmLogin_FormClosing事件。

我使用frmLogin_FormClosed

    private void frmLogin_FormClosed(object sender, FormClosedEventArgs e)
    {
        if (e.CloseReason == CloseReason.UserClosing)
        {
            Application.Exit();

        }
    }

感谢所有帮助和关注的人:)