次の方法で共有


My.Forms オブジェクト

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

注釈

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

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

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

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

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

プロパティ

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

名前の競合がある場合、フォームにアクセスするプロパティ名は RootNamespace_Namespace_FormName です。 たとえば、 Form1.という名前の 2 つのフォームがあるとします。これらのフォームの 1 つがルート名前空間 WindowsApplication1 にあり、名前空間 Namespace1にある場合は、 My.Forms.WindowsApplication1_Namespace1_Form1を使用してそのフォームにアクセスします。

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

フォームのプロパティに Nothing を割り当てることで、フォームを破棄できます。 プロパティ セッターは、フォームの Close メソッドを呼び出し、格納されている値に Nothing を割り当てます。 プロパティに Nothing 以外の値を割り当てると、セッターは ArgumentException 例外をスローします。

Is または IsNot 演算子を使用して、My.Forms オブジェクトのプロパティがフォームのインスタンスを格納するかどうかをテストできます。 これらの演算子を使用して、プロパティの値が 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 サービス いいえ
ウェブサイト いいえ

こちらも参照ください