My.Forms (Objeto)

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

Comentarios

El My.Forms objeto proporciona una instancia de cada formulario en el proyecto actual. El nombre de la propiedad es el mismo que el nombre del formulario al que tiene acceso la propiedad.

Puede acceder a los formularios proporcionados por el My.Forms objeto utilizando el nombre del formulario, sin calificación. Dado que el nombre de propiedad es el mismo que el nombre de tipo del formulario, esto le permite tener acceso a un formulario como si tuviera una instancia predeterminada. Por ejemplo, My.Forms.Form1.Show es equivalente a Form1.Show.

El My.Forms objeto 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 que proporciona un archivo DLL, debe usar el nombre completo del formulario, escrito como DllName. FormName.

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

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

Propiedades

Cada propiedad del My.Forms objeto 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 tiene acceso 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 propiedad para acceder a un formulario es RootNamespace _ Namespace _ FormName. Por ejemplo, considere dos formularios denominados Si uno de estos formularios está en el espacio de nombres raíz y en el espacio de nombres , tendría acceso a Form1. ese formulario a través de WindowsApplication1 Namespace1 My.Forms.WindowsApplication1_Namespace1_Form1 .

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

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

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

Nota

Normalmente, el Is operador o tiene que leer el valor de la propiedad para realizar la IsNot comparación. Sin embargo, si la propiedad almacena actualmente , la propiedad crea una nueva instancia del Nothing formulario y, a continuación, devuelve esa instancia. Sin embargo, Visual Basic compilador trata las propiedades del objeto de forma diferente y permite al operador o comprobar el estado de la propiedad sin modificar My.Forms Is su IsNot 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 este ejemplo funcione, el proyecto debe tener un formulario denominado SidebarMenu .

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

Requisitos

Disponibilidad por Project tipo

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