Instanciar form desde variable

29/09/2005 - 20:22 por Martin Cid | Informe spam
Lo que necesito hacer es algo asi
Dim frm As vForm

siendo vform una variable de tipo string que le paso cuyo valor es el nombre
de un formulario, vForm="frmClientes"

Hago esto pero no me deja, me la subraya y me pone: El tipo vForm no esta
definido

A ver si me podeis ayudar. Salu2.

Preguntas similare

Leer las respuestas

#1 A.Poblacion
29/09/2005 - 20:36 | Informe spam
"Martin Cid" wrote in message
news:
Lo que necesito hacer es algo asi
Dim frm As vForm

siendo vform una variable de tipo string que le paso cuyo valor es el


nombre
de un formulario, vForm="frmClientes"

Hago esto pero no me deja, me la subraya y me pone: El tipo vForm no esta
definido

A ver si me podeis ayudar. Salu2.



Tendrás que usar Reflection. Más o menos algo asi como lo que te pongo a
continuación, pero lo escribo de memoria y puede que tenga algún error:

Imports System.Reflection

Dim s as String = "frmClientes" 'Ojo, sensible a mayúsculas
Form f = Assembly.CreateInstance("MiEspacioDeNombres." & s)
f.Show()
Respuesta Responder a este mensaje
#2 Martin Cid
30/09/2005 - 10:15 | Informe spam
Le he dado mil vueltas y no me sale, ¿Puedes confirmarme el codigo? Tampoco
se que debo poner en MiEspacioDeNombres. Te quedo mu agradecido. Martin.


"A.Poblacion" escribió en
el mensaje news:
"Martin Cid" wrote in message
news:
Lo que necesito hacer es algo asi
Dim frm As vForm

siendo vform una variable de tipo string que le paso cuyo valor es el


nombre
de un formulario, vForm="frmClientes"

Hago esto pero no me deja, me la subraya y me pone: El tipo vForm no esta
definido

A ver si me podeis ayudar. Salu2.



Tendrás que usar Reflection. Más o menos algo asi como lo que te pongo a
continuación, pero lo escribo de memoria y puede que tenga algún error:

Imports System.Reflection

Dim s as String = "frmClientes" 'Ojo, sensible a mayúsculas
Form f = Assembly.CreateInstance("MiEspacioDeNombres." & s)
f.Show()



Respuesta Responder a este mensaje
#3 A.Poblacion
30/09/2005 - 12:41 | Informe spam
"Martin Cid" wrote in message
news:%
Le he dado mil vueltas y no me sale, ¿Puedes confirmarme el codigo?


Tampoco
se que debo poner en MiEspacioDeNombres. Te quedo mu agradecido. Martin.



OK, lo acabo de probar en un programa y es asi:

Form f CType(System.Reflection.Assembly.GetExecutingAssembly().CreateInstance("Proy
ecto.ElFormulario"), Form)
f.Show()


Lo del MiEspacioDeNombres es el Namespace en el que hayas programado la
clase del formulario que quieres sacar. Si no lo has cambiado expresamente,
de manera predeterminada Visual Studio pone el Namespace igual que el nombre
del proyecto.
Respuesta Responder a este mensaje
#4 Martin Cid
30/09/2005 - 12:49 | Informe spam
Me subraya el primer "Form" y dice " se esperaba una declaracion"

"A.Poblacion" escribió en
el mensaje news:%23O$
"Martin Cid" wrote in message
news:%
Le he dado mil vueltas y no me sale, ¿Puedes confirmarme el codigo?


Tampoco
se que debo poner en MiEspacioDeNombres. Te quedo mu agradecido. Martin.



OK, lo acabo de probar en un programa y es asi:

Form f > CType(System.Reflection.Assembly.GetExecutingAssembly().CreateInstance("Proy
ecto.ElFormulario"), Form)
f.Show()


Lo del MiEspacioDeNombres es el Namespace en el que hayas programado la
clase del formulario que quieres sacar. Si no lo has cambiado
expresamente,
de manera predeterminada Visual Studio pone el Namespace igual que el
nombre
del proyecto.


Respuesta Responder a este mensaje
#5 Martin Cid
30/09/2005 - 13:12 | Informe spam
Gracias A. Poblacion ya me sale. Salu2.



"A.Poblacion" escribió en
el mensaje news:%23O$
"Martin Cid" wrote in message
news:%
Le he dado mil vueltas y no me sale, ¿Puedes confirmarme el codigo?


Tampoco
se que debo poner en MiEspacioDeNombres. Te quedo mu agradecido. Martin.



OK, lo acabo de probar en un programa y es asi:

Form f > CType(System.Reflection.Assembly.GetExecutingAssembly().CreateInstance("Proy
ecto.ElFormulario"), Form)
f.Show()


Lo del MiEspacioDeNombres es el Namespace en el que hayas programado la
clase del formulario que quieres sacar. Si no lo has cambiado
expresamente,
de manera predeterminada Visual Studio pone el Namespace igual que el
nombre
del proyecto.


Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida