/// <summary> /// ログイン画面がアクティブになった時、スプラッシュ画面を閉じる /// </summary> private static void Login_Activated(object sender, EventArgs e) { // 主スレッド(スプラッシュ画面を生成していないスレッド) // なので、スプラッシュ画面を閉じるメソッドをInvoke if (Splash._splashForm != null && !Splash._splashForm.IsDisposed) { Splash._splashForm.Invoke(new MethodInvoker(Splash.CloseSplash)); } // nullクリア Splash._splashForm = null; Splash._nextForm = null; Splash._thread = null; }
/// <summary>Thread関数でスプラッシュ画面を表示する。</summary> private static void ShowSplashByThread() { // 副スレッド(スプラッシュ画面を生成したスレッド) // スプラッシュ画面を // ・作成 Splash._splashForm = new Splash(); // ・閉じるイベントハンドラを仕掛 Splash._nextForm.Activated += new EventHandler(Splash.Login_Activated); // ・表示 Application.Run(Splash._splashForm); }