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