0

我有一个主窗体,但是一旦显示主窗体,我就使用 ShowDialog 弹出我的登录窗体,并隐藏主窗体。用户登录后,我只需关闭登录表单,一切正常,主表单出现。

但是..当我退出登录表单时,它仍然显示主表单,因为很明显,它是一个对话框。如何防止用户在退出登录表单时到达主表单?

谢谢。

4

3 回答 3

2

我看到这样的选择:

  • 不允许退出登录对话框(除非同时关闭整个应用程序)

  • 如果用户存在,则登录对话框禁用整个主表单(在它的关键控件和整个表单上设置 Enabled = false)。当您可以退出应用程序或再次调用登录对话框时,可能除了主菜单

于 2013-08-14T09:06:10.317 回答
1

使用 ShowDialog() 的结果来确定用户是否已登录。如果没有,只需关闭应用程序,否则继续应用程序。

另一个但不太好的解决方案:在登录表单中设置 Main-form 属性,并在打开登录表单时设置它。在登录表单的关闭事件中,您还可以关闭主表单。

//the property in the login-form
public YourMainForm MainForm{ get; set; }

//setting the property from the main-form
var login = new LoginForm();
login.MainForm= this;

//closing of the mainform
MainForm.Close();
于 2013-08-14T09:11:28.683 回答
0

您不需要隐藏表单。只需将控件添加到面板并使其不可见。

panel1.visible=false;
于 2013-08-14T09:17:45.620 回答