2010-11-09 129 views
0

我开发了一个使用VB.NET 2005的基于Windows的应用程序。它工作得很好。现在客户想要添加一个名为“注销”的选项。选择该选项后,所有打开的窗体窗体都应该关闭,MDI窗体需要用登录窗体打开。在应用程序中注销选项

任何人都可以请建议可以做些什么来理清这件事。

回答

2

您是否手动记录应用程序打开的表单?如果是这样,关闭所有自上次登录以来已打开的表单是一件简单的事情。

否则,我建议循环使用.NET提供的Application.OpenForms属性在当前应用程序中打开的所有表单。在循环中,要检查每个窗体对你的MDI窗体(因为你想要的形式保持开放,不管是什么),如果它不是MDI的形式,将其关闭:

For Each frm As Form In Application.OpenForms 
    If frm IsNot MyMDIForm Then 
     frm.Close() 
     frm.Dispose() 
    End If 
Next frm 

你之后”已经关闭了所有的开放表格(除了你的MDI表格),你会想要放置任何额外的注销用户所需的代码(关闭数据库连接,说再见等)

最后,你想要结束登录表单显示,并且因为您可能不希望用户能够与MDI表单上的任何控件进行交互,直到他们登录,您需要将登录表单显示为模式对话框。模态对话框基本上接管了应用程序的控制,以便用户在关闭模式对话框之前不能点击任何其他表单。若要将窗体显示为模式对话框,请使用要显示的窗体的ShowDialog方法,将其父窗体/所有者窗体作为参数:

LoginForm.ShowDialog(MyMDIForm)