Compartir a través de


My.Application.OpenForms (Propiedad)

Actualización: noviembre 2007

Obtiene una colección de los formularios abiertos de toda la aplicación.

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

Valor devuelto

Objeto FormCollection que contiene los formularios abiertos de toda la aplicación.

Comentarios

La propiedad My.Application.OpenForms obtiene una colección de los formularios abiertos de toda la aplicación. El comportamiento es idéntico al de la propiedad Application.OpenForms.

Nota:

La propiedad My.Application.OpenForms devuelve todos los formularios abiertos, sin tener en cuenta qué subproceso los abrió. Debería comprobar la propiedad InvokeRequired de cada formulario antes de tener acceso a él; de lo contrario, podría producir una excepción InvalidOperationException. Para obtener más información, vea Cómo: Obtener acceso a todos los formularios abiertos de una aplicación.

Tareas

En la tabla siguiente se muestran ejemplos de tareas en las que interviene la propiedad My.Application.OpenForms.

Para

Vea

Mostrar los títulos de los formularios abiertos de toda la aplicación

Cómo: Obtener acceso a todos los formularios abiertos de una aplicación

Ejemplo

Este ejemplo itera sobre los formularios abiertos de la aplicación, selecciona aquellos a los que el subproceso actual tiene acceso directamente y muestra sus títulos en un control ListBox. Para tener acceso a los formularios abiertos, vea Cómo: Obtener acceso a todos los formularios abiertos de una aplicación.

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

Este ejemplo requiere que la aplicación de Windows Forms tenga un formulario denominado Form1 con un cuadro de lista denominado ListBox1.

Requisitos

Espacio de nombres:Microsoft.VisualBasic.ApplicationServices

Clase:WindowsFormsApplicationBase

Ensamblado: biblioteca en tiempo de ejecución de Visual Basic (en Microsoft.VisualBasic.dll)

Disponibilidad por tipo de proyecto

Tipo de proyecto

Disponible

Aplicación para Windows

Biblioteca de clases

No

Aplicación de consola

No

Biblioteca de controles de Windows

No

Biblioteca de controles Web

No

Servicio de Windows

No

Sitio Web

No

Permisos

El permiso siguiente puede ser necesario:

Permiso

Descripción

UIPermission

Controla los permisos relacionados con las interfaces de usuario y el Portapapeles. Enumeración asociada: AllWindows.

Para obtener más información, vea Seguridad de acceso a código y Solicitar permisos.

Vea también

Referencia

My.Application (Objeto)

System.Windows.Forms.FormCollection

WindowsFormsApplicationBase.OpenForms

Application.OpenForms