Partager via


My.Application.OpenForms, propriété

Mise à jour : novembre 2007

Obtient une collection de tous les formulaires ouverts de l'application.

' Usage
Dim value As System.Windows.Forms.FormCollection = My.Application.OpenForms
' Declaration
Public ReadOnly Property OpenForms As System.Windows.Forms.FormCollection

Valeur de retour

Objet FormCollection qui contient tous les formulaires ouverts de l'application.

Notes

La propriété My.Application.OpenForms obtient une collection de tous les formulaires ouverts de l'application. Le comportement est identique à la propriété Application.OpenForms.

Remarque :

La propriété My.Application.OpenForms retourne tous les formulaires ouverts quel que soit le thread qui les a ouverts. Vous devez vérifier la propriété InvokeRequired de chaque formulaire avant d'y accéder ; sinon, elle peut lever une exception InvalidOperationException. Pour plus d'informations, consultez Comment : accéder à tous les formulaires ouverts d'une application.

Tâches

Le tableau suivant répertorie des exemples de tâches impliquant la propriété My.Application.OpenForms.

Pour

Reportez-vous à

Afficher les titres de tous les formulaires ouverts de l'application

Comment : accéder à tous les formulaires ouverts d'une application

Exemple

Cet exemple effectue une boucle sur les formulaires ouverts de l'application, sélectionne ceux qui sont directement accessibles par le thread actuel et affiche leurs titres dans un contrôle ListBox. Pour accéder aux formulaires ouverts, consultez Comment : accéder à tous les formulaires ouverts d'une application.

Private Sub GetOpenFormTitles()
    Dim formTitles As New Collection

    Try
        For Each f As Form In My.Application.OpenForms
            If Not f.InvokeRequired Then
                ' Can access the form directly.
                formTitles.Add(f.Text)
            End If
        Next
    Catch ex As Exception
        formTitles.Add("Error: " & ex.Message)
    End Try

    Form1.ListBox1.DataSource = formTitles
End Sub

Cet exemple requiert que votre application Windows Forms ait un formulaire nommé Form1 contenant une zone de liste nommée ListBox1.

Configuration requise

Espace de noms :Microsoft.VisualBasic.ApplicationServices

Classe :WindowsFormsApplicationBase

Assembly : bibliothèque Runtime Visual Basic (dans Microsoft.VisualBasic.dll)

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

Autorisations

L'autorisation suivante peut être nécessaire :

Autorisation

Description

UIPermission

Contrôle les autorisations relatives aux interfaces utilisateur et au Presse-papiers. Énumération associée : AllWindows.

Pour plus d'informations, consultez Sécurité d'accès du code et Demande d'autorisations.

Voir aussi

Référence

My.Application, objet

System.Windows.Forms.FormCollection

WindowsFormsApplicationBase.OpenForms

Application.OpenForms