在我的应用程序中,我使用两种形式mainform
和subForm
。 mainForm
具有简单的登录应用程序。单击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);
}
}