VB.NET:アプリケーションのエントリポイント(Mainメソッド)について
アプリケーションのエントリポイントとは、そのアプリケーションが開始した時に、呼び出されるメソッドのことです。
VB.NETでは、Mainメソッドがエントリポイントですが、 WindowsフォームアプリケーションプロジェクトにはMainメソッドが見当たりません。 エントリポイントであるMainメソッドは、コンパイラによって自動的に作成されます。 以下の様にプロジェクトのプロパティ設定で「スタートアップ オブジェクト」を Form1 に 設定すれば自動でMainメソッドが生成され、その中で Form1 を生成し、表示する様になっています。
しかし、 Form1 の表示前に何かをしたいことがある場合、 例えば、アプリケーションの二重起動のチェックだとか、データベースのオープン処理などがあります。 その場合には、新しいモジュールかクラスを追加し、その中に Sub Main を宣言します。 以下は Sub Main をモジュールに宣言したときの例です。
(ファイル名は MainModule.vb としました)
尚、この MainModule を有効にするには、プロジェクトのプロパティ設定で 以下の様にする必要があります。
「アプリケーションフレームワークを有効にする」のチェックを外し無効にします。
無効にすることで、「スタートアップ オブジェクト」のコンボボックスに MainModule が現れますので、それを選びます。
モジュールではなく、クラスで行う場合は以下の様になります。
このソースの例では、二重起動のチェックを行っていますが、その他、データベースのオープン等 メイン画面が表示される前までに行いたい処理を、初期処理の部分に記述できます。
コメント