我在vb.net有五種表單。如何在VB.NET中管理多個表單
1. Welcome Form
2. Home Form
3. LogIn Form
4. Work1 Form
5. Work2 Form
而且一個枚舉:
Public Enum OpenForm
F_WORK1=1
F_WORK2=2
End Enum
而且我宣佈其所有的對象模塊:
Public frmHome As Home
Public frmLogin As LogIn
Public frmWork1 As Work1
Public frmWork2 As Work2
然後,當歡迎窗體加載:
Me.Hide()
frmHome = New Home
frmHome.show()
而且在Home Form中,有兩個按鈕。和Home Form,我不關閉它。我一直打開它,直到應用程序關閉。
第一個按鈕,用於打開工作1表格。當用戶點擊它,它會打開登錄表單和用戶必須輸入用戶名和密碼:
frmLogin =新的登錄(OpenForm.F_WORK1)
frmLogin.showDialog()
第二個按鈕,用於打開Work2表單。當用戶點擊它,它會打開登錄表單和用戶必須輸入用戶名和密碼:
frmLogin =新的登錄(OpenForm.F_WORK2)
frmLogin.showDialog()
在LogIn Form中,有一個名爲btnLogin的按鈕。這裏是登錄表單代碼:
Private frm As OpenForm
Public Sub New(f as OpenForm)
InitailizeComponent()
frm = f
End Sub
而當用戶點擊btnLogin:
If frm=OpenForm.F_WORK1 Then
frmWork1 = New Work1()
frmWork1.showDialog(frmHome)
frmLogin.Close()
ElseIf frm=OpenForm.F_WORK2 Then
frmWork2 = New Work2()
frmWork2.showDialog(frmHome)
frmLogin.Close()
End If
然後工作1或Wor2形式打開。但LogIn窗體不關閉。
的問題:
- 我想關閉登錄表單,並打開工作1或WORK2形式的用戶點擊之後btnLogin。
- 而當用戶最小化Work1或Work2表單時,我希望Home表單也最小化。當用戶鼠標移動任務欄時,我想要預覽我打開了哪個窗體。
- 每個窗體(主頁窗體,工作1窗體和工作2窗體)都包含很多控件,導致我的用戶界面非常慢並且不平滑。所以我希望它首先載入它的包含,然後可見的窗體。
感謝您的幫助。
使用Show()而不是ShowDialog() –
我已經使用過了。但它運作不好。 – Ericton