My.Forms オブジェクト

現在のプロジェクトで宣言されている各 Windows フォームのインスタンスにアクセスするためのプロパティを提供します。

Remarks

My.Forms オブジェクトは、現在のプロジェクトで各フォームのインスタンスを提供します。 プロパティの名前は、プロパティがアクセスするフォームの名前と同じになります。

My.Forms オブジェクトによって提供されるフォームにアクセスするには、修飾子を付けずにフォームの名前を使用します。 プロパティ名はフォームの型名と同じであるため、これによって既定のインスタンスがあるかのようにフォームにアクセスできます。 たとえば、My.Forms.Form1.Show は、Form1.Show と同じです。

My.Forms オブジェクトでは、現在のプロジェクトに関連付けられているフォームのみが公開されます。 参照されている DLL で宣言されているフォームへのアクセスは提供されません。 DLL によって提供されるフォームにアクセスするには、 DllName.FormName として記述されたフォームの修飾名を使用する必要があります。

OpenForms プロパティを使用して、すべてのアプリケーションの開いているフォームのコレクションを取得できます。

オブジェクトとそのプロパティは、Windows アプリケーションでのみ使用できます。

プロパティ

My.Forms オブジェクトの各プロパティにより、現在のプロジェクトのフォームのインスタンスにアクセスできます。 プロパティの名前は、プロパティがアクセスするフォームの名前と同じになり、プロパティの型はフォームの型と同じになります。

注意

名前の競合がある場合、フォームにアクセスするためのプロパティ名は、<ルート名前空間>_<名前空間>_<フォーム名> になります。 たとえば、Form1. という名前の 2 つのフォームを考えてみます。これらのフォームのいずれかがルート名前空間 WindowsApplication1 と名前空間 Namespace1 にある場合、My.Forms.WindowsApplication1_Namespace1_Form1 によってそのフォームにアクセスします。

My.Forms オブジェクトでは、起動時に作成されたアプリケーションのメイン フォームのインスタンスにアクセスできます。 その他のすべてのフォームの場合、My.Forms オブジェクトによって、アクセス時にフォームの新しいインスタンスが作成され、格納されます。 その後、そのプロパティにアクセスしようとすると、フォームのインスタンスが返されます。

フォームを破棄するには、そのフォームのプロパティに Nothing を割り当てます。 プロパティ セッターによって、フォームの Close メソッドが呼び出され、格納されている値に Nothing が割り当てられます。 プロパティに Nothing 以外の値を割り当てた場合、セッターが ArgumentException 例外をスローします。

My.Forms オブジェクトのプロパティにフォームのインスタンスが格納されているかどうかをテストするには、Is または IsNot 演算子を使用します。 これらの演算子を使用すると、プロパティの値が Nothing かどうかをチェックできます。

注意

通常、Is または IsNot 演算子では、比較を実行するためにプロパティの値を読み取る必要があります。 ただし、プロパティに現在 Nothing が格納されている場合は、プロパティによってフォームの新しいインスタンスが作成され、そのインスタンスが返されます。 ただし、Visual Basic コンパイラでは、My.Forms オブジェクトのプロパティが異なって処理されるため、Is または IsNot 演算子によって、値を変更せずにプロパティの状態をチェックできます。

この例では、既定の SidebarMenu フォームのタイトルを変更しています。

Sub ShowSidebarMenu(ByVal newTitle As String)
    If My.Forms.SidebarMenu IsNot Nothing Then
        My.Forms.SidebarMenu.Text = newTitle
    End If
End Sub

この例を機能させるには、プロジェクトに SidebarMenu という名前のフォームが必要です。

このコードは、Windows アプリケーション プロジェクトでのみ機能します。

必要条件

プロジェクトの種類別の可用性

プロジェクトの種類 使用可能
Windows アプリケーション はい
クラス ライブラリ いいえ
コンソール アプリケーション いいえ
Windows コントロール ライブラリ いいえ
Web コントロール ライブラリ いいえ
Windows サービス いいえ
Web サイト いいえ

関連項目