在我的应用程序中,我使用两种形式mainformsubFormmainForm具有简单的登录应用程序。单击btnClick中的按钮(mainForm)(如果登录凭据匹配),它将被定向到subForm。我可以轻松做到这一点。但是问题在于mainForm仍然可见,并且每当我关闭mainForm时,它也会同时关闭subForm。我不想发生。并且如果在函数后输入this.Close(),则会发生相同的问题。
“打开mainForm后如何关闭subForm。”

我尝试了以下代码:

btnClick事件:

            subForm newSubForm = new subForm();
            newSubForm.Show();
            newSubForm.RegisterMainForm(this);
            this.Close();


RegisterMainForm只是考虑实际subForm的内部方法。

最佳答案

关闭主窗体后,应用程序的消息循环终止,这将导致整个应用程序退出。 Windows消息循环绑定到您的主窗体,因为这是您开始的窗体
Application.Run(新mainform())。

在Program.cs中尝试其他方法

    static void Main()
    {
        Application.EnableVisualStyles();
        Application.SetCompatibleTextRenderingDefault(false);
        MainForm mf  = new MainForm();
        if (mf.ShowDialog() == DialogResult.OK)
        {
           subForm newSubForm = new subForm();
           newSubForm.RegisterMainForm(this);
           Application.Run(newSubForm);
        }
    }

09-26 19:43