Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Proporciona propiedades para acceder a una instancia de cada formulario windows declarado en el proyecto actual.
Observaciones
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 accede la propiedad.
Puede acceder a los formularios proporcionados por el My.Forms objeto mediante el nombre del formulario, sin cualificación. Dado que el nombre de la 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 equivale a Form1.Show.
El My.Forms objeto expone solo los formularios asociados al proyecto actual. No proporciona acceso a 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 OpenForms propiedad 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 de Windows.
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 accede la propiedad y el tipo de propiedad es el mismo que el tipo del formulario.
Nota:
Si hay un conflicto de nombres, el nombre de propiedad para tener acceso a un formulario es RootNamespace_Namespace_FormName. Por ejemplo, considere dos formularios denominados Form1.Si uno de estos formularios está en el espacio de nombres WindowsApplication1 raíz y, en el espacio de nombres Namespace1, accedería a ese formulario a través de My.Forms.WindowsApplication1_Namespace1_Form1.
El My.Forms objeto proporciona acceso a la instancia del formulario principal de la aplicación que se creó al iniciarse. Para todos los demás formularios, el My.Forms objeto crea una nueva instancia del formulario cuando se accede a él y la almacena. Los intentos posteriores de obtener acceso a esa propiedad devuelven esa instancia del formulario.
Puede eliminar un formulario asignando Nothing a la propiedad de ese formulario. El establecedor de propiedades llama al Close método del formulario y, a continuación, asigna Nothing al valor almacenado. Si asigna algún valor distinto Nothing de a la propiedad , el establecedor produce una ArgumentException excepción.
Puede probar si una propiedad del My.Forms objeto almacena una instancia del formulario mediante el Is operador o IsNot . Puede usar esos operadores para comprobar si el valor de la propiedad es Nothing.
Nota:
Normalmente, el Is operador o IsNot tiene que leer el valor de la propiedad para realizar la comparación. Sin embargo, si la propiedad almacena Nothingactualmente , la propiedad crea una nueva instancia del formulario y, a continuación, devuelve esa instancia. Sin embargo, el compilador de Visual Basic trata las propiedades del My.Forms objeto de forma diferente y permite Is al operador o IsNot comprobar el estado de la propiedad sin modificar su valor.
Ejemplo
En este ejemplo se cambia el título del formulario predeterminado SidebarMenu .
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 de aplicación de Windows.
Requisitos
Disponibilidad por tipo de proyecto
| Tipo de proyecto | Disponible |
|---|---|
| Aplicación 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 |