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

Visual Studio 開発環境
この記事は約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

開発環境
\よかったらシェアしてね!/
えふめん

大阪在住、30代。
業務系SE・社内SE。

PCトラブルの調査、自作デスクトップPCのこと、PC周辺機器のレビューなどの記事を書いています。

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

コメント

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