My.Forms, objet

Fournit des propriétés permettant d’accéder à une instance de chaque Windows Form déclaré dans le projet actuel.

Notes

L’objet My.Forms fournit une instance de chaque formulaire dans le projet actuel. Le nom de la propriété est identique au nom du formulaire auquel la propriété accède.

Vous pouvez accéder aux formulaires fournis par l’objet My.Forms à l’aide du nom du formulaire, sans qualification. Étant donné que le nom de propriété est identique au nom de type du formulaire, cela vous permet d’accéder à un formulaire comme s’il avait une instance par défaut. Par exemple, My.Forms.Form1.Show équivaut à Form1.Show.

L’objet My.Forms expose uniquement les formulaires associés au projet actuel. Il ne fournit pas l’accès aux formulaires déclarés dans les DLL référencées. Pour accéder à un formulaire fourni par une DLL, vous devez utiliser le nom qualifié du formulaire, écrit en tant que DllName.FormName.

Vous pouvez utiliser la propriété OpenForms pour obtenir une collection de tous les formulaires ouverts de l’application.

L’objet et ses propriétés sont disponibles uniquement pour les applications Windows.

Propriétés

Chaque propriété de l’objet My.Forms permet d’accéder à une instance d’un formulaire dans le projet actuel. Le nom de la propriété est identique au nom du formulaire auquel la propriété accède, et le type de propriété est identique au type du formulaire.

Notes

S’il existe une collision de noms, le nom de propriété permettant d’accéder à un formulaire est RootNamespace_Namespace_FormName. Par exemple, considérez deux formulaires nommés Form1.Si l’un de ces formulaires se trouve dans l’espace de noms racine WindowsApplication1 et dans l’espace de noms Namespace1, vous pouvez accéder à ce formulaire via My.Forms.WindowsApplication1_Namespace1_Form1.

L’objet My.Forms fournit l’accès à l’instance du formulaire principal de l’application qui a été créé au démarrage. Pour tous les autres formulaires, l’objet My.Forms crée une nouvelle instance du formulaire lorsqu’il est accessible et le stocke. Les tentatives suivantes d’accès à cette propriété retournent cette instance du formulaire.

Vous pouvez supprimer un formulaire en affectant Nothing à la propriété de ce formulaire. Le jeu de propriétés appelle la méthode Close du formulaire, puis affecte Nothing à la valeur stockée. Si vous affectez une valeur autre que la propriété Nothing, le setter lève une exception ArgumentException.

Vous pouvez tester si une propriété de l’objet My.Forms stocke une instance du formulaire à l’aide de l’opérateur Is ou IsNot. Vous pouvez utiliser ces opérateurs pour vérifier si la valeur de la propriété est Nothing.

Notes

En règle générale, l’opérateur Is ou IsNot doit lire la valeur de la propriété pour effectuer la comparaison. Toutefois, si la propriété stocke actuellement Nothing, la propriété crée une nouvelle instance du formulaire, puis retourne cette instance. Toutefois, le compilateur Visual Basic traite les propriétés de l’objet My.Forms différemment et permet à l’opérateur Is ou IsNot de vérifier l’état de la propriété sans modifier sa valeur.

Exemple

Cet exemple montre comment modifier le titre du formulaire par défaut SidebarMenu.

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

Pour que cet exemple fonctionne, votre projet doit avoir un formulaire nommé SidebarMenu.

Ce code fonctionne uniquement dans un projet d’application Windows.

Spécifications

Disponibilité par type de projet

Type de projet Disponible
Application Windows Oui
Bibliothèque de classes Non
Application console Non
Bibliothèque de contrôles Windows Non
Bibliothèque de contrôles web Non
Service Windows Non
Site web Non

Voir aussi