My.Forms (Objeto)

Proporciona propiedades para acceder a una instancia de cada formulario Windows Forms declarado en el proyecto actual.

Comentarios

El objeto My.Forms proporciona una instancia de cada formulario del proyecto actual. El nombre de la propiedad es igual que el nombre del formulario al que accede la propiedad.

Puede acceder a los formularios que proporciona el objeto My.Forms mediante el nombre del formulario, sin calificación. Dado que el nombre de la propiedad es el mismo que el nombre de tipo del formulario, puede acceder a un formulario como si tuviera una instancia predeterminada. Por ejemplo, My.Forms.Form1.Show es equivalente a Form1.Show.

El objeto My.Forms expone solo los formularios asociados al proyecto actual. No proporciona acceso a los formularios declarados en archivos DLL a los que se hace referencia. Para acceder a un formulario proporcionado por un archivo DLL, debe usar el nombre completo del formulario, escrito como NombreDll.NombreFormulario.

Puede usar la propiedad OpenForms para obtener una colección de todos los formularios abiertos de la aplicación.

El objeto y sus propiedades solo están disponibles para las aplicaciones Windows.

Propiedades

Cada propiedad del objeto My.Forms proporciona acceso a una instancia de un formulario en el proyecto actual. El nombre de la propiedad es el mismo que el nombre del formulario al que accede la propiedad y el tipo de propiedad es el mismo que el tipo del formulario.

Nota

Si hay una colisión de nombres, el nombre de la propiedad para acceder a un formulario es RootNamespace_Namespace_FormName. Por ejemplo, suponga que hay dos formularios llamados Form1.. Si uno de estos formularios está en el espacio de nombres raíz WindowsApplication1 y en el espacio de nombres Namespace1, se accedería a ese formulario a través de My.Forms.WindowsApplication1_Namespace1_Form1.

El objeto My.Forms proporciona acceso a la instancia del formulario principal de la aplicación que se creó al iniciarse. Para el resto de formularios, el objeto My.Forms crea una instancia del formulario cuando se accede a él y la almacena. Los intentos posteriores de acceder a esa propiedad devuelven esa instancia del formulario.

Puede eliminar un formulario si asigna Nothing a la propiedad de ese formulario. El establecedor de propiedad llama al método Close del formulario y, a continuación, asigna Nothing al valor almacenado. Si asigna un valor distinto de Nothing a la propiedad, el establecedor produce una excepción ArgumentException.

Use el operador Is o IsNot para probar si una propiedad del objeto My.Forms almacena una instancia del formulario. Puede usar esos operadores para comprobar si el valor de la propiedad es Nothing.

Nota

Normalmente, el operador Is o IsNot tiene que leer el valor de la propiedad para realizar la comparación. Sin embargo, si la propiedad almacena Nothing actualmente, dicha propiedad crea una instancia del formulario y, después, devuelve esa instancia. No obstante, el compilador de Visual Basic trata las propiedades del objeto My.Forms de forma distinta y permite que el operador Is o IsNot compruebe el estado de la propiedad sin modificar su valor.

Ejemplo

En este ejemplo, se cambia el título del formulario SidebarMenu predeterminado.

Sub ShowSidebarMenu(ByVal newTitle As String)
    If My.Forms.SidebarMenu IsNot Nothing Then
        My.Forms.SidebarMenu.Text = newTitle
    End If
End Sub

Para que el ejemplo funcione, el proyecto debe tener un formulario llamado SidebarMenu.

Este código solo funcionará en un proyecto de aplicación Windows.

Requisitos

Disponibilidad por tipo de proyecto

Tipo de proyecto Disponible
Aplicación 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

Consulte también