My.Forms-Objekt
Aktualisiert: November 2007
Stellt Eigenschaften für den Zugriff auf eine Instanz jedes im aktuellen Projekt deklarierten Windows Form bereit.
Hinweise
Das My.Forms-Objekt stellt eine Instanz jedes Formulars im aktuellen Projekt bereit. Der Name der Eigenschaft stimmt mit dem Namen des Formulars überein, auf das die Eigenschaft zugreift. Informationen über das Hinzufügen von Formularen zu einem Projekt finden Sie unter Gewusst wie: Hinzufügen von Windows Forms zu einem Projekt.
Sie können mit dem Namen des Formulars ohne Qualifizierung auf die vom My.Forms-Objekt bereitgestellten Formulare zugreifen. Da der Eigenschaftenname mit dem Typnamen des Formulars übereinstimmt, können Sie auf das Formular wie auf ein Formular zugreifen, das ü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. Es stellt keinen Zugriff auf Formulare bereit, 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 im Format DLL-Name.Formularname verwenden. Weitere Informationen finden Sie unter Gewusst wie: Zugreifen auf ein Formular.
Mit der My.Application.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 ermöglicht den Zugriff auf eine Instanz eines Formulars im aktuellen Projekt. Der Name der Eigenschaft stimmt mit dem Namen des Formulars überein, auf den die Eigenschaft zugreift, und der Eigenschaftentyp stimmt mit dem Typ des Formulars überein.
Hinweis: |
---|
Wenn ein Namenskonflikt besteht, lautet der Eigenschaftenname für den Zugriff auf ein Formular Stammnamespace_Namespace_Formularname. Angenommen, zwei Formulare heißen Form1.. Wenn sich eines dieser Formulare im Stammnamespace WindowsApplication1 und im Namespace Namespace1 befindet, greifen Sie auf dieses Formular über My.Forms.WindowsApplication1_Namespace1_Form1 zu. |
Das My.Forms-Objekt ermöglicht den Zugriff auf die Instanz des Hauptformulars der Anwendung, das beim Starten der Anwendung erstellt wurde. Für alle anderen Formulare erstellt das My.Forms-Objekt eine neue Instanz des Formulars, wenn darauf zugegriffen wird, und speichert diese. Bei anschließenden Versuchen, auf diese Eigenschaft zuzugreifen, wird die Instanz des Formulars zurückgegeben.
Sie können ein Formular freigeben, indem Sie der Eigenschaft für das Formular Nothing zuweisen. Der Eigenschaftensetter ruft die Close-Methode des Formulars auf und weist anschließend dem gespeicherten Wert Nothing zu. Wenn Sie der Eigenschaft einen anderen Wert als Nothing zuweisen, löst der Setter eine ArgumentException-Ausnahme aus.
Mit dem Is-Operator oder dem IsNot-Operator können Sie überprüfen, ob eine Eigenschaft des My.Forms-Objekts eine Instanz des Formulars speichert. Sie können mit diesen Operatoren überprüfen, ob der Wert der Eigenschaft Nothing ist.
Hinweis: |
---|
Normalerweise muss der Is-Operator oder der IsNot-Operator den Wert der Eigenschaft lesen, um den Vergleich durchzuführen.. Wenn die Eigenschaft gegenwärtig jedoch Nothing speichert, erstellt sie eine neue Instanz des Formulars und gibt dann diese Instanz zurück. Der Visual Basic-Compiler behandelt aber die Eigenschaften des My.Forms-Objekts auf andere Weise und lässt das Überprüfen des Status der Eigenschaft durch den Is-Operator oder den IsNot-Operator ohne eine Änderung ihres Werts zu. |
Aufgaben
In der folgenden Tabelle werden Beispiele für Aufgaben mit dem My.Forms-Objekt aufgeführt.
Zweck |
Weitere Informationen finden Sie unter |
---|---|
Zugreifen auf ein Formular von einem anderen Formular |
|
Steuern eines Formulars von einem anderen Formular |
Gewusst wie: Kommunikation zwischen Formularen in einer Anwendung |
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 diese Beispiel ausgeführt werden kann, muss das Projekt das Formular SidebarMenu enthalten. Weitere Informationen finden Sie unter Gewusst wie: Hinzufügen von Windows Forms zu einem Projekt.
Dieser Code kann nur in einem Windows-Anwendungsprojekt ausgeführt werden.
Anforderungen
Verfügbarkeit nach Projekttyp
Projekttyp |
Verfügbar |
---|---|
Windows-Anwendung |
Ja |
Klassenbibliothek |
Nein |
Konsolenanwendung |
Nein |
Windows-Steuerelementbibliothek |
Nein |
Web-Steuerelementbibliothek |
Nein |
Windows-Dienst |
Nein |
Website |
Nein |
Siehe auch
Aufgaben
Gewusst wie: Hinzufügen von Windows Forms zu einem Projekt
Gewusst wie: Zugreifen auf ein Formular
Konzepte
Zugreifen auf Anwendungsformulare
Referenz
My.Application.OpenForms-Eigenschaft