スプラッシュウィンドウの出し方
現在,こちら↓で紹介してるようなソフトを作っているます.
http://www.geocities.jp/sourcechord/software/index.html
で,ソフトを起動したときに出る,ロゴみたいなヤツ(スプラッシュウィンドウというらしい)を表示したくて,簡単な方法を試して見ました.
スプラッシュウィンドウを表示するためには,大きく分けて以下の二通りがあるようです.
- 簡単な方法
とりあえず,枠無しのダイアログとして表示して,sleep関数を用いて,数秒後に消す.
- ちゃんとした方法
上述の方法と同じ様に表示するが,その後,初期化処理が終わって,idle状態になったら消す.
今作っているソフトでは,初期化処理に時間掛からないので,初期化が終わるまで時間を計る必要性を感じず,簡単な方法を使ってみました.
てか,そもそも初期化に時間が掛かってないんだから,スプラッシュウィンドウの表示なんて必要ないのですよ・・・
むしろ,起動に余計な時間かかるだけだし・・
でも,カッコいいからやってみたかったのですw
で,以下スプラッシュウィンドウの表示方法
- まず,プロジェクト/windowsフォームの追加を選び,その中からwindowsフォームを追加する.
- そのフォームのFormBorderStyleプロパティをNone(枠無し表示)に変える.
- フォームにPictureBoxを貼り付けて,ロゴ画像とかを適用する.
- メインのフォームのLoadメソッド(デフォルトだとForm1_Loadメソッドとかかな・・)に以下のコードを記述.
// スプラッシュウィンドウの表示 Form2 splash = new Form2(); splash.Show(); splash.Refresh(); //フォームが描画されなかった場合,この行を追加 System.Threading.Thread.Sleep(1500); splash.Close();
- 補足
Form2 ・・・ スプラッシュウィンドウ用のフォームのクラス
多くの解説サイトでは,上のソースのReflesh()の行は書いてなかったのですが,実行してみても,フォームが正確に描画されなかったので,一度再描画をさせるようにしました.
ちなみに自分の環境はVisualStudio.net2005を使っております.