我在登录表格按钮
中有这个this.Close();
MDIParent1 mdi = new MDIParent1();
mdi.Show();
但是MDI的父母不会打开。
答案 0 :(得分:3)
使用hide
代替
MDIParent1 mdi = new MDIParent1();
mdi.Show();
this.Hide();
编辑:
另一种解决方案,在Program.cs
中,请勿使用Application.Run(new LoginForm());
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
LoginForm lf = new LoginForm();
lf.Show();
Application.Run();
}
然后你可以使用
Application.Run(new MDIParent1());
this.Close();
答案 1 :(得分:0)
您正在关闭登录表单,但无法打开mdi表单。
我们曾经使用过几次的技巧,首先打开你的主表单,然后让它弹出登录表单。如果登录失败,请不要关闭登录表单。在登录表单的结束参数中,结束应用程序。
不确定这是否适用于MDI表单,因为我不确定您是否可以在MDI父级的ontop上打开模式表单。
答案 2 :(得分:0)
在启动时打开您的MDIParent窗口并从那里打开您的登录窗口(在OnLoad
中,例如ShowDialog
)。
登录失败后,您可以退出该应用程序。 如果登录成功,您可以继续使用MDIParent。