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

本文关键字:窗口 应用程序 ShowDialog | 更新日期: 2023-09-27 18:07:57

按问题。所以我有一个主窗口(MainForm)加载时,应用程序启动。然后在MainForm_load事件它做showDialog另一个形式(loginfo .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]关闭按钮

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

在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());
    }

我不应该首先使用frmLogin_FormClosing事件。

我使用了frmLogin_FormClosed

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

感谢大家的帮助和关注:)