C# 对话框后不加载窗体

C# 对话框后不加载窗体,c#,visual-studio-2010,.net-4.0,C#,Visual Studio 2010,.net 4.0,我有一个对话框: _myLogin = new LoginPage(_myDriver); _myLogin.ShowDialog(); 然后我想加载另一个表单 new RegularUser().Show(); 为什么不加载我的第二个表单?因为您正在将第一个表单显示为,在用户可以继续使用应用程序的其余部分(如MessageBox)之前,必须关闭或隐藏该表单 您可以改为使用: _myLogin.Show(); 将其显示为无模式窗体 从链接: 如果窗体显示为模态,则在对话框关闭之前,不会执行

我有一个对话框:

_myLogin = new LoginPage(_myDriver);
_myLogin.ShowDialog();
然后我想加载另一个表单

new RegularUser().Show();

为什么不加载我的第二个表单?

因为您正在将第一个表单显示为,在用户可以继续使用应用程序的其余部分(如MessageBox)之前,必须关闭或隐藏该表单

您可以改为使用:

_myLogin.Show();
将其显示为无模式窗体

从链接:

如果窗体显示为模态,则在对话框关闭之前,不会执行ShowDialog方法后面的代码。但是,当窗体显示为无模式时,Show方法后面的代码将在窗体显示后立即执行


我相信第二个表单没有加载,因为您没有关闭第一个模态对话框表单

ShowDialog()
显示模式对话框窗口

MSDN,:

调用此方法时,不会执行它后面的代码 直到对话框关闭之后

改为尝试使用方法,这样将显示窗口,并且
Show()
调用之后的所有代码也将被执行


PS:考虑到您的表单名称,可能模态对话框是LoginForm的正确选择?因此,用户可以查看LoginForm,输入凭据,并且只有在成功授权后才能访问RegularUser表单,我不确定这一点,因为假设只有表单名称,但无论如何,对于这种情况,模式对话框是非常必要的。

或者您可以简单地调用new RegularUser().Show();在登录页面表单的加载方法中