在DialogBox之后不加载表单

时间:2012-03-17 10:52:41

标签: c# visual-studio-2010 .net-4.0

我有一个对话框:

_myLogin = new LoginPage(_myDriver);
_myLogin.ShowDialog();

然后我想加载另一个表单

new RegularUser().Show();

为什么我的第二张表格没有加载?

3 个答案:

答案 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表单之后,我不确定这一点,因为只是假设只有表单名称,但无论如何模态对话框都是这种情况下的。