2010-11-09 81 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)