Freigeben über


My.Forms-Objekt

Stellt Eigenschaften für den Zugriff auf eine Instanz jedes Windows-Formulars bereit, das im aktuellen Projekt deklariert ist.

Bemerkungen

Das My.Forms Objekt stellt eine Instanz jedes Formulars im aktuellen Projekt bereit. Der Name der Eigenschaft entspricht dem Namen des Formulars, auf das die Eigenschaft zugreift.

Sie können auf die vom My.Forms Objekt bereitgestellten Formulare zugreifen, indem Sie den Namen des Formulars ohne Qualifikation verwenden. Da der Eigenschaftsname mit dem Typnamen des Formulars übereinstimmt, können Sie auf ein Formular zugreifen, als ob er über eine Standardinstanz verfügt. My.Forms.Form1.Show entspricht beispielsweise Form1.Show.

Das My.Forms Objekt macht nur die Dem aktuellen Projekt zugeordneten Formulare verfügbar. Er bietet keinen Zugriff auf Formulare, die in referenzierten DLLs deklariert sind. Um auf ein Formular zuzugreifen, das eine DLL bereitstellt, müssen Sie den qualifizierten Namen des Formulars verwenden, der als DllName geschrieben wurde. FormName.

Mit der OpenForms Eigenschaft können Sie eine Auflistung aller geöffneten Formulare der Anwendung abrufen.

Das Objekt und seine Eigenschaften sind nur für Windows-Anwendungen verfügbar.

Eigenschaften

Jede Eigenschaft des My.Forms Objekts bietet Zugriff auf eine Instanz eines Formulars im aktuellen Projekt. Der Name der Eigenschaft entspricht dem Namen des Formulars, auf das die Eigenschaft zugreift, und der Eigenschaftstyp entspricht dem Typ des Formulars.

Hinweis

Wenn ein Namenskonflikt besteht, lautet der Eigenschaftsname für den Zugriff auf ein Formular "RootNamespace_Namespace_FormName". Ziehen Sie beispielsweise zwei Formulare mit dem Namen Form1."Wenn sich eines dieser Formulare im Stammnamespace WindowsApplication1 und im Namespace Namespace1befindet", würden Sie über dieses Formular My.Forms.WindowsApplication1_Namespace1_Form1zugreifen.

Das My.Forms Objekt bietet Zugriff auf die Instanz des Hauptformulars der Anwendung, das beim Start erstellt wurde. Für alle anderen Formulare erstellt das My.Forms Objekt eine neue Instanz des Formulars, wenn darauf zugegriffen wird, und speichert es. Nachfolgende Versuche, auf diese Eigenschaft zuzugreifen, geben diese Instanz des Formulars zurück.

Sie können ein Formular löschen, indem Sie der Eigenschaft für dieses Formular zuweisen Nothing . Der Eigenschaftensatzer ruft die Close Methode des Formulars auf und weist dann dem gespeicherten Nothing Wert zu. Wenn Sie der Eigenschaft einen anderen Wert als Nothing der Eigenschaft zuweisen, löst der Setter eine ArgumentException Ausnahme aus.

Mithilfe des Operators können Sie testen, ob eine Eigenschaft des My.Forms Objekts eine Instanz des Formulars IsIsNot speichert. Mit diesen Operatoren können Sie überprüfen, ob der Wert der Eigenschaft lautet Nothing.

Hinweis

Normalerweise muss der IsIsNot Operator den Wert der Eigenschaft lesen, um den Vergleich durchzuführen. Wenn die Eigenschaft derzeit gespeichert wird Nothing, erstellt die Eigenschaft jedoch eine neue Instanz des Formulars und gibt diese Instanz zurück. Der Visual Basic-Compiler behandelt jedoch die Eigenschaften des My.Forms Objekts anders und ermöglicht es dem IsIsNot Operator, den Status der Eigenschaft zu überprüfen, ohne den Wert zu ändern.

Beispiel

In diesem Beispiel wird der Titel des Standardformulars SidebarMenu geändert.

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

Damit dieses Beispiel funktioniert, muss Ihr Projekt über ein Formular mit dem Namen verfügen SidebarMenu.

Dieser Code funktioniert nur in einem Windows-Anwendungsprojekt.

Anforderungen

Verfügbarkeit nach Projekttyp

Projekttyp Verfügbar
Windows-Anwendung Ja
Klassenbibliothek Nein
Konsolenanwendung Nein
Windows-Steuerelementbibliothek Nein
Websteuerelementbibliothek Nein
Windows-Dienst Nein
Website Nein

Siehe auch