vb.net には 5 つのフォームがあります。
1. Welcome Form
2. Home Form
3. LogIn Form
4. Work1 Form
5. Work2 Form
そして1つの列挙:
Public Enum OpenForm
F_WORK1=1
F_WORK2=2
End Enum
そして、Module ですべてのオブジェクトを宣言します。
Public frmHome As Home
Public frmLogin As LogIn
Public frmWork1 As Work1
Public frmWork2 As Work2
次に、ウェルカム フォームが読み込まれると、次のようになります。
Me.Hide()
frmHome = New Home
frmHome.show()
また、ホーム フォームには 2 つのボタンがあります。そしてホームフォーム、閉じません。アプリケーションが閉じるまで開いたままにします。
最初のボタンは、Work1 フォームを開くために使用します。ユーザーがそれをクリックすると、ログインフォームが開き、ユーザーはユーザー名とパスワードを入力する必要があります。
frmLogin = 新しいログイン(OpenForm.F_WORK1)
frmLogin.showDialog()
2 番目のボタンは、Work2 フォームを開くために使用します。ユーザーがそれをクリックすると、ログインフォームが開き、ユーザーはユーザー名とパスワードを入力する必要があります。
frmLogin = 新しいログイン(OpenForm.F_WORK2)
frmLogin.showDialog()
ログイン フォームには、btnLogin という名前のボタンが 1 つあります。ログインフォームのコードは次のとおりです。
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
次に、Work1 または Wor2 フォームが開きました。しかしログインフォームが閉じません。
問題点:
- ユーザーが btnLogin をクリックした後、ログイン フォームを閉じて Work1 または Work2 フォームを開きたい。
- また、ユーザーが Work1 または Work2 フォームを最小化すると、ホーム フォームも最小化します。ユーザーがマウスでタスクバーを動かしたときに、どのフォームを開いたかをプレビューします。
- 各フォーム (ホーム フォーム、ワーク 1 フォーム、ワーク 2 フォーム) には多くのコントロールが含まれているため、ユーザー インターフェイスが非常に遅くなり、スムーズになりません。したがって、最初にその内容をロードしてから、フォームを表示する必要があります。
お手伝いありがとうございます。