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 | 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 |