Foros del Web » Programación para mayores de 30 ;) » .NET »

Comunicar un form hijo con un form padre

Estas en el tema de Comunicar un form hijo con un form padre en el foro de .NET en Foros del Web. Buenas. Tengo un mdiPadre y un formHijo . Al pulsar un boton del menu del padre creo el hijo como : dim formHijo as new ...
  #1 (permalink)  
Antiguo 18/12/2003, 05:42
 
Fecha de Ingreso: enero-2002
Mensajes: 69
Antigüedad: 22 años, 3 meses
Puntos: 0
Comunicar un form hijo con un form padre

Buenas.

Tengo un mdiPadre y un formHijo . Al pulsar un boton del menu del padre creo el hijo como :

dim formHijo as new formHijo
formHijo.mdiparent = me
formHijo.show

Hasta ahí todo bien, mi problema radica en que
en el formHijo hay un boton que abre otro formHijoHijo
que también tiene que estar dentro del Mdi.

Para ello he pensado que el formulario FormHijo se comunique con el formPadre, pero para ello tengo que declara un evento
en el hijo tal que asi

public event mi_evento()

y en el codigo del boton :

raiseevent mi_evento()


y en el formPadre intento crear un funcion tal que asi

public mi_funcion () handles FormHijo.mi_evento()

pero nada no funciona ya que no conoce a formHijo



También pense en crear en el formPadre el formHijo con los eventos del hijo tal que así

friends withevents formHijo as formHijo

y luego crearla como

dim formHijo = new formHijo

y en el codigo del boton del menu del formPadre

formHijo.mdiparent=me
formhijo.show

y así funciona el evento, pero solo funciona una sola vez

ya que al cerrar la ventana FormHijo y luego abrirla pulsando otra vez en el boton del menu me dice que no puede encontrar formHijo cuando pongo formHijo.show

Ya se que es un lio, pero si alguien tiene alguna idea, o me puede decir como meter un evento de forma mas facil se lo agradeceria un monton

Saludos.
__________________
Programador 5 estrellas http://www.mslatam.com/latam/msdn/co...ages/star1.gif

  #2 (permalink)  
Antiguo 25/12/2003, 11:02
 
Fecha de Ingreso: septiembre-2003
Ubicación: Argentina
Mensajes: 145
Antigüedad: 20 años, 7 meses
Puntos: 0
Hola:
Creo haber entendido la duda.
Yo tengo una aplicación VB6 que hace lo mismo y la transformé a .NET, en realidad tuve que hacer algunos toques con experimentación pero hasta ahora funciona. Te lo comento.

En el primer FormHijo simplemente llamas al segundo FormHijo con Show.
Luego (que a mi me funcionó) hay que colocar la siguente sentencia, en el segundo FormHijo, en el procedimiento constructor:

Public Sub New()
...
...
Me.MdiParent = RootNamespace.FormPadre.DefInstance.DefInstance

End Sub

Creo que el concepto se entiende. El tema es referenciar al FormPadre en la propiedad MdiParent. A mi me soporta DefInstance, que creo que es por el simulador de VB6, que genera el conversor de VB6 a .NET.

Bueno, espero que te sirva.

Saludos

Diego
  #3 (permalink)  
Antiguo 29/12/2003, 05:06
 
Fecha de Ingreso: enero-2002
Mensajes: 69
Antigüedad: 22 años, 3 meses
Puntos: 0
Buenas

Muchas gracias funciona, aunque no se si es lo adecuado en este tipo de programación.

Pero ya sabes lo que dicen :

"si te saca de un apuro utilízalo"

Gracias tio.
__________________
Programador 5 estrellas http://www.mslatam.com/latam/msdn/co...ages/star1.gif

Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:22.