|
.NET TIPS Visual Basic 2005でスプラッシュ・スクリーンにメッセージを表示するには?[VS 2005のみ、VB]デジタルアドバンテージ 遠藤 孝信2007/08/30 |
![]() |
|
|
|
「TIPS:Visual Basic 2005でスプラッシュ・スクリーンを表示するには?」では、Visual Basic 2005(Visual Basic 2005 Express EditionあるいはVisual Studio 2005のVisual Basic。以下、VB 2005)で簡単にスプラッシュ・スクリーンを表示する方法について解説している。
本稿では、メイン・フォームでの初期化処理の進行状況などを示すメッセージをスプラッシュ・スクリーンに表示する方法について解説する。VB 2005のスプラッシュ・スクリーンはメイン・フォームとは別のスレッドで実行されるため注意が必要だ。
スプラッシュ・スクリーンの修正
まず、スプラッシュ・スクリーンとなるフォームにメッセージを表示するためのラベルを追加する。ここではこれを以下の画面のように行っている。なお、スプラッシュ・スクリーン自体の追加と設定については前掲のTIPSを参照してほしい。
![]() | |||
| メッセージ表示のためのLabelコントロールを追加したスプラッシュ・スクリーン | |||
スプラッシュ・スクリーンのフォームの構成要素はTableLayoutPanelコントロール上に配置されているため、ここではTableLayoutPanelコントロールに行を追加し、そこにLabelコントロールを配置している。この画面ではフォームの構成が分かるように「ドキュメント・アウトライン」ウィンドウを表示している。これについては「TIPS:Visual Studio 2005でコントロールの選択/移動を簡単に行うには?」を参照。
|
メイン・フォーム(の初期化処理を行うLoadイベント・ハンドラ)からは、いま配置したLabelコントロールのTextプロパティに文字列を設定することによってメッセージを表示できるが、前述したようにスプラッシュ・スクリーンのフォームとメイン・フォームは別スレッドで実行されるため、Textプロパティを直接設定することはできない(.NET Framework 2.0以降ではこれを行うと実行時に例外が発生する)。
このため、ここでは「TIPS:Windowsフォームで別スレッドからコントロールを操作するには?」で解説している手法を用いて、スプラッシュ・スクリーンのフォームに次のようなSetInitMessageメソッドを追加する。
| |
| スプラッシュ・スクリーン上のラベルにメッセージを表示するためのSetInitMessageDelegateメソッド | |
| グレーの部分はVB 2005により自動作成されたコード。メソッドが別スレッドから呼び出された場合には、InvokeRequiredプロパティはTrueとなる。この場合にはInvokeメソッドにより、フォーム上のコントロールを操作するメソッドを実行すればよい。 |
このSetInitMessageメソッドでは、メソッドが別スレッドから呼び出された場合にフォームのInvokeメソッドを経由して再度SetInitMessageメソッドを実行するようにしている。
メイン・フォームからのメソッドの呼び出し
メイン・フォームからのSetInitMessageメソッドの呼び出しは、通常のメソッドと同じようにして行えばよい。例えば以下のようになる。
| |
| メイン・フォームのLoadイベント・ハンドラの記述例 |
この場合には、表示されるスプラッシュ・スクリーンは次のようになる。
![]() |
| メッセージを表示しているスプラッシュ・スクリーン |
上記のコードでは時間稼ぎのためにSleepメソッドを呼び出しているが、もちろん実際にはその部分で初期化処理などを行うことになる。![]()
| 利用可能バージョン:.NET Framework 2.0のみ カテゴリ:Visual Studio 2005 処理対象:プロジェクト カテゴリ:Visual Basic 2005 処理対象:アプリケーション・フレームワーク 関連TIPS:Visual Basic 2005でスプラッシュ・スクリーンを表示するには? 関連TIPS:Visual Studio 2005でコントロールの選択/移動を簡単に行うには? 関連TIPS:Windowsフォームで別スレッドからコントロールを操作するには? |
| 「.NET TIPS」 |
TechTargetジャパン
- 新人プログラマーのためのInsider.NETの歩き方 2012 (2012/5/22)
晴れて.NETプログラマーとなる新人が効率的に開発技術を習得するには? 大量にある記事群の中から新人が読むべきお勧めを厳選して紹介 - jQuery MobileでJavaScriptプログラミング (2012/5/17)
jQuery Mobileは手軽なだけでなく、JavaScriptのAPIも充実しており、独自機能の実装もできる。今回は「グローバル設定」と「イベント」を解説 - Windows上で開発するための開発環境構築入門 (2012/5/16)
Windowsを使ってチームで開発している? なのにサーバOSを設定・運用した経験がない? そうなら、今すぐ学ぼう - 「コントラクト」でアプリのサンドボックスを乗り越える! (2012/5/11)
Metroスタイル・アプリはサンドボックスの中で動作する。それを乗り越えてほかのアプリと連携する仕組み「コントラクト」を解説
|
|
キャリアアップ
スポンサーからのお知らせ
- - PR -
イベントカレンダー
- - PR -




