My.Forms-Objekt
Bietet Eigenschaften für den Zugriff auf eine Instanz jedes im aktuellen Projekt deklarierten Windows-Formulars.
Bemerkungen
Das My.Forms
-Objekt stellt eine Instanz für jedes Formular im aktuellen Projekt bereit. Der Name der Eigenschaft stimmt mit dem des Formulars überein, auf das die Eigenschaft zugreift.
Sie können auf die Formulare zugreifen, die vom My.Forms
-Objekt bereitgestellt werden, indem Sie den Namen des Formulars ohne Qualifizierung verwenden. Da der Eigenschaftenname mit dem Typnamen des Formulars identisch ist, können Sie auf ein Formular zugreifen, als ob es eine Standardinstanz hätte. My.Forms.Form1.Show
entspricht beispielsweise Form1.Show
.
Das My.Forms
-Objekt macht nur die Formulare verfügbar, die dem aktuellen Projekt zugeordnet sind. Es bietet keinen Zugriff auf Formulare, die in DLLs deklariert sind, auf die verwiesen wird. Um auf ein Formular zuzugreifen, das von einer DLL bereitgestellt wird, müssen Sie den qualifizierten Namen des Formulars verwenden, der als DllName.FormName geschrieben wird.
Sie können mithilfe der OpenForms-Eigenschaft 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 ermöglicht Zugriff auf eine Instanz eines Formulars im aktuellen Projekt. Der Name der Eigenschaft ist mit dem Namen des Formulars identisch, auf das die Eigenschaft zugreift, und der Eigenschaftentyp ist mit dem Typ des Formulars identisch.
Hinweis
Wenn es einen Namenskonflikt gibt, lautet der Eigenschaftsname für den Zugriff auf ein Formular RootNamespace_Namespace_FormName. Nehmen Sie z. B. zwei Formulare mit dem Namen Form1.
. Wenn sich eines dieser Formulare im Stammnamespace WindowsApplication1
und im Namespace Namespace1
befindet, greifen Sie über My.Forms.WindowsApplication1_Namespace1_Form1
auf das Formular zu.
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 verwerfen, indem Sie der Eigenschaft für dieses Formular Nothing
zuweisen. Der Eigenschaftensetter ruft die Close-Methode des Formulars auf und weist dann Nothing
dem gespeicherten Wert zu. Wenn Sie der Eigenschaft einen anderen Wert als Nothing
zuweisen, löst der Setter eine ArgumentException-Ausnahme aus.
Sie können testen, ob eine Eigenschaft des My.Forms
-Objekts eine Instanz des Formulars speichert, indem Sie den Operator Is
oder IsNot
verwenden. Sie können mit diesen Operatoren überprüfen, ob der Wert der Eigenschaft Nothing
ist.
Hinweis
In der Regel muss der Operator Is
oder IsNot
den Wert der Eigenschaft lesen, um den Vergleich durchzuführen. Wenn die Eigenschaft jedoch derzeit Nothing
speichert, erstellt die Eigenschaft eine neue Instanz des Formulars und gibt dann diese Instanz zurück. Der Visual Basic-Compiler behandelt die Eigenschaften des My.Forms
-Objekts jedoch unterschiedlich und ermöglicht dem Operator Is
oder IsNot
, den Status der Eigenschaft zu überprüfen, ohne ihren 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 ein Formular mit dem Namen SidebarMenu
haben.
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 |