VB.NETでアプリケーション起動時のフォーム・Mainメソッドを指定

Development 開発環境
この記事は約2分で読めます。

VB.NETで複数のフォームが存在するWindowsアプリケーションプロジェクトで、アプリケーション起動時に実行される「フォーム」を指定する方法。

また、フォームではなく、「Mainメソッド」を指定する方法。

なお、今回のVisual Studioのバージョンは以下です。

  • Visual Studio Professional 2012
スポンサーリンク

スタートアップオブジェクトの設定

「ソリューションエクスプローラー」⇒ソリューション配下のプロジェクトを右クリック⇒「プロパティ」を開く。

「アプリケーション」タブ⇒「スタートアップオブジェクト」でプルダウンから選択する。

「スタートアップオブジェクト」のプルダウンには、プロジェクト内の各フォームと、「Sub Main」が存在する。

なお、「Sub Main」は「アプリケーション フレームワークを有効にする」をチェックオフにしないと表示されないみたい。

「Sub Main」を選択する場合は、自分で新規モジュール・クラスを作成し、Mainメソッドを「Shared」で作成する必要がある。

Mainメソッドはアプリケーションのエントリポイントとなるため、アプリケーション実行時にまずMainメソッドが実行されるようになる。

また、Mainメソッドからフォームを呼び出す場合は、下記のように「Application」クラスの「Run」メソッドでフォームのインスタンスを生成し、呼び出す。

Public Class Cls_Main
    <STAThread()> _
    Shared Sub Main()
        Application.Run(New Form1)
    End Sub
End Class

ちなみに、「スタートアップオブジェクト」でフォームを選択した場合は、Mainメソッドを記述していないのに正しくアプリケーションが実行される。

これは、VB.NETのコンパイラが上記のようなMainメソッドを自動で挿入して、EXEファイルを作成してくれるためらしい。

デバッグ時の引数の設定

なお、デバッグ時の引数は、下記で設定する。

「ソリューションエクスプローラー」⇒ソリューション配下のプロジェクトを右クリック⇒「プロパティ」を開く。

「デバッグ」タブ⇒「開始オプション」⇒「コマンドライン引数」に半角スペース区切りで設定する。

参考サイト

@IT:.NET TIPS VB.NETでアプリケーション起動時に実行されるフォームを変更するには? – C#

アプリケーションのエントリポイントを自作する: .NET Tips: C#, VB.NET

スポンサーリンク
スポンサーリンク
開発環境
えふめんをフォローする
この記事が気に入ったら
いいね!しよう
最新情報をお届けします。
俺の開発研究所

コメント

タイトルとURLをコピーしました