' fmLogin_Load や fmBase_Load から始めるのではなく、Sub Main から始めるように設定しておく Public Sub Main() Application.EnableVisualStyles() Application.SetCompatibleTextRenderingDefault(False) '現在のユーザー情報は、るきおさん提案の UserInfo クラスで管理する Dim account As UserInfo = Nothing '未ログイン時には、初期値として Nothing にしておく '---- ログイン処理 ---- Using login As New fmLogin() 'ログイン画面をモーダルで表示する If login.ShowDialog( ) = System.Windows.Forms.DialogResult.OK Then '認証が終わったら、認証結果を UserInfo クラスとして受け取る account = login.LoginAccount '←新たにLoginAccount というプロパティを自作 Else '認証がキャンセルされたり、入力ミスが続いたときは、メイン画面に移行せずにアプリ終了 Return End If End Using '---- メイン画面 ---- If account IsNot Nothing Then '認証が済んだら、その認証結果情報(UserInfoクラス)を 'メイン画面に引き渡して表示する。 Application.Run( New fmMain( account ) ) 'コンストラクタを追加 End If End Sub