Partager via


My.Forms, objet

Mise à jour : novembre 2007

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

Notes

L'objet My.Forms fournit une instance de chaque formulaire dans le projet actuel. La propriété porte le même que celui du formulaire auquel la propriété accède. Pour plus d'informations sur l'ajout de formulaires à un projet, consultez Comment : ajouter des Windows Forms à un projet.

Vous pouvez accéder aux formulaires fournis par l'objet My.Forms à l'aide du nom du formulaire, sans qualification. Étant donné que la propriété porte le même nom que le nom de type du formulaire, vous pouvez accéder à un formulaire comme s'il avait une instance par défaut. Par exemple, My.Forms.Form1.Show est équivalent à Form1.Show.

L'objet My.Forms n'expose que les formulaires associés au projet actuel. Il ne fournit pas un 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 sous la forme DllName.FormName. Pour plus d'informations, consultez Comment : accéder à un formulaire.

La propriété My.Application.OpenForms, propriété permet d'obtenir une collection de tous les formulaires ouverts de l'application.

L'objet et ses propriétés ne sont disponibles que pour les applications Windows.

Propriétés

Chaque propriété de l'objet My.Forms fournit l'accès à une instance d'un formulaire du projet actuel. La propriété porte le même nom que celui du formulaire auquel accède la propriété et le type de propriété porte le même nom que le type de formulaire.

Remarque :

Si une collision de noms se produit, le nom de la propriété pour accéder à un formulaire est RootNamespace_Namespace_FormName. Par exemple, prenons 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 accédez à ce formulaire via My.Forms.WindowsApplication1_Namespace1_Form1.

L'objet My.Forms fournit un 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 instance du formulaire lorsqu'il est ouvert et le stocke. Les tentatives ultérieures pour accéder à la propriété retournent cette instance du formulaire.

Vous pouvez supprimer un formulaire en assignant Nothing à sa propriété. L'accesseur Set de la propriété appelle la méthode Close du formulaire, puis assigne Nothing à la valeur stockée. Si vous assignez une valeur autre que Nothing à la propriété, l'accesseur Set 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 propriété a la valeur Nothing.

Remarque :

En général, 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 instance du formulaire, puis la retourne. Néanmoins, le compilateur Visual Basic traite différemment les propriétés de l'objet My.Forms et permet à l'opérateur Is ou IsNot de vérifier l'état de la propriété sans modifier sa valeur.

Tâches

Le tableau suivant répertorie des exemples de tâches impliquant l'objet My.Forms.

Pour

Consultez

Accéder à un formulaire à partir d'un autre formulaire.

Comment : accéder à un formulaire

Contrôler un formulaire à partir d'un autre formulaire.

Comment : utiliser la communication entre formulaires dans une application

Exemple

Cet exemple modifie le titre du formulaire SidebarMenu par défaut.

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. Pour plus d'informations, consultez Comment : ajouter des Windows Forms à un projet.

Ce code ne fonctionne que dans un projet d'application Windows.

Configuration requise

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

Tâches

Comment : ajouter des Windows Forms à un projet

Comment : accéder à un formulaire

Concepts

Accès aux formulaires de l'application

Référence

My.Application.OpenForms, propriété

My.Application.OpenForms, propriété

Is, opérateur (Visual Basic)

IsNot, opérateur

Form

Close