我有一个主窗体,但是一旦显示主窗体,我就使用 ShowDialog 弹出我的登录窗体,并隐藏主窗体。用户登录后,我只需关闭登录表单,一切正常,主表单出现。
但是..当我退出登录表单时,它仍然显示主表单,因为很明显,它是一个对话框。如何防止用户在退出登录表单时到达主表单?
谢谢。
我有一个主窗体,但是一旦显示主窗体,我就使用 ShowDialog 弹出我的登录窗体,并隐藏主窗体。用户登录后,我只需关闭登录表单,一切正常,主表单出现。
但是..当我退出登录表单时,它仍然显示主表单,因为很明显,它是一个对话框。如何防止用户在退出登录表单时到达主表单?
谢谢。
我看到这样的选择:
不允许退出登录对话框(除非同时关闭整个应用程序)
如果用户存在,则登录对话框禁用整个主表单(在它的关键控件和整个表单上设置 Enabled = false)。当您可以退出应用程序或再次调用登录对话框时,可能除了主菜单
使用 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();
您不需要隐藏表单。只需将控件添加到面板并使其不可见。
panel1.visible=false;