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 |