
16/03/2004, 10:27
|
 | | | Fecha de Ingreso: noviembre-2003 Ubicación: xxxx xxxx
Mensajes: 270
Antigüedad: 21 años, 4 meses Puntos: 0 | |
el tema del manejo de los winforms y la diferencia con VB6 debería estar en las FAQ de éste foro (cuando las haya) ya que es muy preguntado, la cosa es así:
los formularios hay que tratarlos como a variables, si declarás una variable en un procedimiento, cuando éste termina la variable se destruye y ya no se puede acceder a ella. Con los forms pasa lo mismo, por más que el formulario se vea en la pantalla, la instancia se pierde y no podés acceder a ninguno de sus métodos ni los controles que contiene.
La solución, como bien leíste, es pasar la INSTANCIA del formulario como referencia ej:
en Form2 defino una variable pública del tipo formulario:
Dim Padre as new Form
-----
en el procedimiento del boton que abre form2 (desde form1):
dim frm as new Form2
frm.Padre = Me
frm.Show
---
asi vas a tener acceso a la INSTANCIA del formulario 1 desde el formulario 2 y vas a poder cerrarlo así: Padre.Close()
espero que sirva, saludos |