|
.NET TIPS VB.NETでアプリケーション起動時に実行されるフォームを変更するには?デジタルアドバンテージ2003/05/30 |
![]() |
|
|
|
Visual Basic .NET(以下VB.NET)により複数のフォームを持つWindowsアプリケーションを作成した場合、以下のようにしてアプリケーション実行時に最初に表示されるフォームを変更することができる。
まずソリューション・エクスプローラ上で、フォームを含んでいるプロジェクトをマウスにより選択し、右クリックして表示されるメニューから[プロパティ]を選択する。
![]() |
| プロジェクトのプロパティ表示 |
| ソリューション・エクスプローラ上で、フォームを含んでいるプロジェクトをマウスにより選択し、右クリックして表示されるメニューから[プロパティ]を選択する。 |
これにより、次の画面のような「プロパティ・ページ」ダイアログが表示される。
![]() |
| プロジェクトのプロパティ・ページ |
| [スタートアップの設定]ドロップダウン・リストボックスでアプリケーションの起動時に実行されるフォームを指定することができる。 |
このダイアログの[スタートアップの設定]ドロップダウン・リストボックスには、そのプロジェクトに含まれるフォームと「Sub Main」という項目が含まれている。ここでアプリケーションの起動時に実行されるフォームを指定することができる。
[スタートアップの設定]で「Sub Main」を選択する場合には、自分でMainメソッドを記述する必要がある。この場合には、例えばプロジェクトに新しい項目として「クラス」を追加し、次のようなMainメソッドを記述すればよい。このMainメソッドではフォーム「Form1」のインスタンスを作成し、それをApplicationクラス(System.Windows.Forms名前空間)のRunメソッドにより実行している。C#と同様に、VB.NETでもMainメソッドはアプリケーションのエントリ・ポイントとなるため、アプリケーションの実行時にはまずこのMainメソッドが実行される。
![]() |
| フォームを実行するためのMainメソッド |
| [スタートアップの設定]で「Sub Main」を選択した場合には、このようなMainメソッドを記述する必要がある。 |
Mainメソッドの記述については「TIPS:コマンドライン引数を取得するには?」でも触れているので参照していただきたい。
上図のMainメソッドによる処理は、「Form1」をスタートアップに設定したのとまったく同等なため、わざわざMainメソッドを記述する意味はないが、フォームを開く前に前処理が必要な場合などでは、ここでそれを記述することができる。
ところで、VB.NETアプリケーションのエントリ・ポイントはMainメソッドであると述べたが、Visual Studio .NETでWindowsアプリケーションを作成した場合には、Mainメソッドが存在しないにもかかわらずプログラムを実行できるのはなぜだろうか。これはVB.NETのコンパイラが[スタートアップの設定]で指定されたフォームに(フォームを定義しているクラスに)、まさにいま示したようなMainメソッドを自動的に挿入してEXEファイルを作成するためだ。
この様子はVisual Studio .NETに付属の逆アセンブラ・ツール「ildasm.exe」により確認することができる。次の画面はVisual Studio .NETにより作成されたWindowsアプリケーションをこのツールにより開いたところである。
![]() |
| 逆アセンブラ・ツール「ildasm.exe」の実行画面 |
| 実行可能ファイル(EXEファイル)を開いて、含まれているクラスや、メソッド、フィールドを確認することができる。 |
このアプリケーションでは3つのフォームを作成し、そのうち「Form2」をスタートアップに設定している。画面中で紫色の四角に「S」がついているMainメソッドがコンパイラにより自動作成されたものだ。![]()
| カテゴリ:Visual Studio .NET 処理対象:プロジェクト カテゴリ:Visual Basic .NET 処理対象:フォーム 使用キーワード:Mainメソッド 関連TIPS:コマンドライン引数を取得するには? |
|
||||||||||||||||||||||||||||
| 「.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 -






