には、.NETアプリケーションの.NETでのスプラッシュ画面を作成することはできません。
の目的をスプラッシュスクリーンは、アプリケーションがロードされ、開始され、初期化されるまで、長い待機時間からユーザを逸らすことである。
.NETアプリケーション自体には既に起動時間があるため、この時間内にはスプラッシュ画面はありません。
私のソリューション
だから私のアプリケーションでは、私はそれを次のようにやっている:
- 小さな、小さなネイティブC++アプリケーションを作成します。
- C++アプリケーションの起動時に、最上部のビットマップ(境界線のないウィンドウ)を表示します。
- C++アプリケーションが実際の.NETアプリケーションを起動できるようにします。
- .NETアプリケーションが起動し、起動および初期化が完了すると、C++アプリケーションに終了するよう指示されます。これはIPCによって行われます。
プロセス間通信は次のように行われます:
- C++アプリケーションでは、一時ファイルを書き込みます。
- .NETアプリケーションを呼び出すと、ファイル名がコマンドラインパラメータとして渡されます。
- C++アプリケーションは、ファイルが存在するかどうか定期的にポーリングします。
- .NETアプリケーションは、スプラッシュ画面を非表示にするとすぐにファイルを削除します。
- C++アプリケーションは、一時ファイルがなくなるとすぐに存在します(またはタイムアウトが発生します)。
これは100%完璧ではないことが分かっていますが、これは何年も前に.NETアプリケーションを開発して以来、私が思いついた最も適切なソリューションでした。
数分ですか?アンインストーラを忘れないでください。 –
[C#Splash Screen Problem]の重複が可能です(http://stackoverflow.com/questions/392864/c-splash-screen-problem) –