在DialogBox之后不加载窗体

本文关键字:加载 窗体 之后 DialogBox | 更新日期: 2023-09-27 18:28:17

我有一个对话框形式:

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

然后我想加载另一个表单

new RegularUser().Show();

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

在DialogBox之后不加载窗体

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

因为您将第一个窗体显示为模式对话框,在用户可以继续使用应用程序的其余部分(如MessageBox)之前,必须关闭或隐藏该对话框。

您可以使用:

_myLogin.Show();

以无模型形式显示。

来自链接:

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

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

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

MSDN,Form.ShowDialog方法:

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

请尝试使用Show()方法,这样就会显示WIndow,并且还会执行Show()调用后的所有代码。

PS:考虑到您的表单名称,对于LoginForm来说,模式对话框是否是正确的决定?因此,用户可以看到LoginForm,输入凭据,只有在成功授权后才能访问RegularUser表单,我对此不确定,因为我只是假设只有表单名称,但无论如何,模式对话框只适用于这种情况。