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.
![]() |
---|
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 |
Sí |
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 |
---|---|
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
System.Windows.Forms.FormCollection