我有一个对话框:
_myLogin = new LoginPage(_myDriver);
_myLogin.ShowDialog();
然后我想加载另一个表单
new RegularUser().Show();
为什么我的第二张表格没有加载?
答案 0 :(得分:1)
或者你可以简单地调用新的RegularUser()。Show();在LoginPage表单的load方法中。
答案 1 :(得分:0)
因为您将第一个表单显示为Modal Dialog,在用户继续使用应用程序的其余部分(如MessageBox)之前必须将其关闭或隐藏。
您可以改为使用:
_myLogin.Show();
将其显示为无模式表单。
从链接:
如果表单显示为模式,则在关闭对话框之前不会执行ShowDialog方法之后的代码。但是,当窗体显示为无模式时,Show方法后面的代码会在显示窗体后立即执行。
答案 2 :(得分:0)
我认为第二种形式没有加载,因为你没有关闭第一个模态对话框。
ShowDialog()
显示模态对话框窗口
MSDN,Form.ShowDialog Method:
调用此方法时,不执行其后面的代码 直到对话框关闭后。
尝试使用Show()方法,因此将显示WIndow,并且Show()
调用后的所有代码也将被执行。
PS:考虑到您的表单名称,可能是Modal对话框是LoginForm的正确决定吗? SO用户看到LoginForm,输入凭据,并且只有在成功授权才能访问RegularUser表单之后,我不确定这一点,因为只是假设只有表单名称,但无论如何模态对话框都是这种情况下的。