データのロード中に時間を潰すためにスプラッシュ画面を表示するにはどうすればよいですか?
-
19-09-2019 - |
質問
アプリを起動するときは、まずデータを読み込んだり、フォームを初期化したりする必要があります。その間、ユーザーには、何かのフォームを表示する準備が整っている灰色だけが表示されます。
これは数秒間続きます...
私は、データを別のスレッドにロードし、それにかかる時間を表示するスプラッシュ スクリーンを考えました。それともただのステータスバー?
このようなことはどうすればよいでしょうか?
C# .NET 3.5 + Winforms を使用しています
解決
WindowsFormのでは、簡単にはBackgroundWorkerのを使用することです。
あなたはロード中にコントロールを無効にしてラベルでstartusバーにプログレスバーを表示することができ、「データをロードする...」ます。
MSDNリンク: http://msdn.microsoft。 COM / EN-US /ライブラリ/ system.componentmodel.backgroundworker.aspxする
他のヒント
この CodeProject の記事を参照してください。 C# の非常に優れたスプラッシュ画面
次のようなスプラッシュ画面を実装します。
- 別のスレッドで実行されます
- 現れるとフェードイン、消えるとフェードアウト
- 静的メソッドを使用して更新される実行ステータス メッセージを表示します。
- 予測自己調整型オーナー描画の滑らかなグラデーションの進行状況バーを表示および更新します
- ロードが完了するまでの残り秒数を表示します
以下にその例を示します。おそらくあなたのものはもっときれいになるでしょう。8-)
それだけで、その後の待機を表示し、数秒間継続した場合 カーソルは問題ないはずです。おそらくそれはように配置することができます メインウィンドウには、可能な限り迅速に表示され、残りがあります (例えば、タイマーを使用して)最初の画面更新後に開始しました。 これは、の認知の起動時間を短縮します。
起動時間を短縮するために、あなたも検討することができます 彼らは厳密でない場合は起動アクションの一部を延期 必要。これは、使用した後にバックグラウンドで行うことができます タイマーまたはオンデマンドます。
私は最近、基礎としてトム・クレメンツを使用して、同様のスプラッシュ画面を書きました。 私のスプラッシュ画面を見てみましょうそれはあなたのニーズに合っている場合>を確認します。