Abrir Form

14/07/2006 - 22:39 por Richard | Informe spam
Amigos como podria abrir un formulario en base al Nombre del Form o al de la
Clase en su defecto, por ejemplo yo en la Base de Datos guardo el Nombre del
Formulario : "FrmAbout".

Desde el IDE seria asi:
dim MyForm as new FrmAbout
MyForm.show()

Pero cuando es string como lo haria?
Ctype(FrmAbout,Form).Show()

A ver si me pueden ayudar... Gracias.

Preguntas similare

Leer las respuestas

#1 SoftJaén
15/07/2006 - 17:45 | Informe spam
"Richard" preguntó:

como podria abrir un formulario en base al Nombre del Form



Hola, Richard:

Lo puedes conseguir utilizando conjuntamente las clases Type y Activator. Lo
único que tienes que tener en cuenta, es que en la variable alfanumérica
deberás especificar el nombre del espacio de nombres de la raíz que contiene
el formulario que deseas mostrar:

' Nombre del formulario que deseas mostrar, incluyendo
' el espacio de nombres que lo contiene
'
Dim nombreForm As String = "WindowsApplication1.FrmAbout"

' Obtenemos el objeto Type para el tipo de dato especificado
'
Dim t As Type = Type.GetType(nombreForm, True, True)

' Declaramos una variable del tipo genérico Form
'
Dim MyForm As New Form

' Creamos la instancia del formulario
'
MyForm = DirectCast(Activator.CreateInstance(t), Form)

' Por último, lo mostramos
'
MyForm.Show()

Un saludo

Enrique Martínez
[MS MVP - VB]

Nota informativa: La información contenida en este mensaje, así como el
código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin
garantías de ninguna clase, y no otorga derecho alguno. Usted asume
cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o
sugerido en el presente mensaje.
Respuesta Responder a este mensaje
#2 Richard
15/07/2006 - 18:43 | Informe spam
Gracias SoftJaen. Trabaja justo como queria. :-)

"SoftJaén" escribió:

"Richard" preguntó:

> como podria abrir un formulario en base al Nombre del Form

Hola, Richard:

Lo puedes conseguir utilizando conjuntamente las clases Type y Activator. Lo
único que tienes que tener en cuenta, es que en la variable alfanumérica
deberás especificar el nombre del espacio de nombres de la raíz que contiene
el formulario que deseas mostrar:

' Nombre del formulario que deseas mostrar, incluyendo
' el espacio de nombres que lo contiene
'
Dim nombreForm As String = "WindowsApplication1.FrmAbout"

' Obtenemos el objeto Type para el tipo de dato especificado
'
Dim t As Type = Type.GetType(nombreForm, True, True)

' Declaramos una variable del tipo genérico Form
'
Dim MyForm As New Form

' Creamos la instancia del formulario
'
MyForm = DirectCast(Activator.CreateInstance(t), Form)

' Por último, lo mostramos
'
MyForm.Show()

Un saludo

Enrique Martínez
[MS MVP - VB]

Nota informativa: La información contenida en este mensaje, así como el
código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin
garantías de ninguna clase, y no otorga derecho alguno. Usted asume
cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o
sugerido en el presente mensaje.






email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida