Windows Formsアプリでスプラッシュスクリーンを表示する方法

2017 年 1 月 16 日 by Dr.K

前回の記事の中で少し触れた「ビルド アクション」の中には、「SplashScreen」という項目があります。

◆SplashScreen Wikipediaより

スプラッシュスクリーン(英:Splash screen)は、コンピュータのアプリケーション起動処理中に画像を表示する技術を指すコンピュータ用語である。たいていは画面全体を覆う大きさではなく、中央に小さな方形で表示される。OSやフルスクリーンで実行されるアプリケーションの場合は全画面表示によるスプラッシュスクリーンとなることが多い。

が、Windowsフォームアプリケーションでは、この設定は特に意味を持たず、WPFで開発する場合のスプラッシュスクリーンとして扱う場合の設定になります。

ではWindowsフォームアプリケーションでスプラッシュスクリーンを利用しようとするとどうすればよいのか、今回はこのことについて記載していきます。

Visual Studioでは元々スプラッシュスクリーンを表示するための仕組みが標準で備わっています。

まずはプロジェクトに新規項目としてスプラッシュスクリーンのクラスを追加します。
新しい項目の追加

デフォルトでは以下のようなスプラッシュスクリーンが追加されます。
スプラッシュスクリーンイメージ

後はプロジェクトのプロパティから、スプラッシュスクリーンを呼び出すための設定をおこなえば、設定は完了です。
[プロジェクトのプロパティ] → [アプリケーション] → [スプラッシュスクリーン] で、追加したスクリーンスプラッシュを設定してください。
新しい項目の追加

以上です。簡単です。3分かからずに作成できます。
実際にWindowsフォームアプリケーションを実行してみると、起動時にスプラッシュスクリーンが表示されるはずです。

簡単にスプラッシュスクリーンを作成することができましたが、これだけだと「設定ファイルの読み込み中」や「??%」などの進捗状況を表示できていません。
スプラッシュスクリーン自体はメインで表示されるフォームとは別スレッドで動作しているため、Invokeメソッドなどで別スレッドからスプラッシュスクリーンのコントロールへアクセスし、進捗状況を更新する必要があります。
次回の投稿ではこの方法について紹介できればと思います。

タグ:

TrackBack