在DialogBox之后不加载窗体
本文关键字:加载 窗体 之后 DialogBox | 更新日期: 2023-09-27 18:28:17
我有一个对话框形式:
_myLogin = new LoginPage(_myDriver);
_myLogin.ShowDialog();
然后我想加载另一个表单
new RegularUser().Show();
为什么我的第二份表格没有加载?
或者您可以简单地调用new RegularUser().Show();在LoginPage表单的加载方法中。
因为您将第一个窗体显示为模式对话框,在用户可以继续使用应用程序的其余部分(如MessageBox)之前,必须关闭或隐藏该对话框。
您可以使用:
_myLogin.Show();
以无模型形式显示。
来自链接:
如果窗体显示为模态,则在关闭对话框之前,不会执行ShowDialog方法后面的代码。但是,当窗体显示为无模式时,Show方法后面的代码会在窗体显示后立即执行。
我相信第二个表单没有加载,因为您还没有关闭第一个模态对话框表单。
ShowDialog()
显示模式对话框窗口
MSDN,Form.ShowDialog方法:
当调用此方法时,不会执行它后面的代码直到对话框关闭。
请尝试使用Show()方法,这样就会显示WIndow,并且还会执行Show()
调用后的所有代码。
PS:考虑到您的表单名称,对于LoginForm来说,模式对话框是否是正确的决定?因此,用户可以看到LoginForm,输入凭据,只有在成功授权后才能访问RegularUser表单,我对此不确定,因为我只是假设只有表单名称,但无论如何,模式对话框只适用于这种情况。