Comunicar Formularios child entre si

23/02/2004 - 13:59 por ed | Informe spam
A ver si alguien me puede ayudar
Tengo un Formulario que contiene forms
En uno de ellos tengo un DataGrid con una serie de datos y lo que quiero
que al hacer doble click me saque el id de uno de ellos y lo pase a otro a
otro form cerrando el primero y mostrando el segundo
El sacar valores del datgrid lo tengo controlado, lo que no se es como
hacer para cerrar el mdichild actual y pasar el dato hasta el otro form q
tambien es child del form principal
Espero haberme explicado bien y que alguien me pueda ayudar
 

Leer las respuestas

#1 Octavio Hernandez
23/02/2004 - 14:46 | Informe spam
Eduardo,

Me parece que una solución sería que pusieras un método público en el
formulario MDI padre, dentro del que se cerrara el 1º hijo y se lanzara el
2º. Ese método lo llamarías cuando se haga doble clic sobre el 1º hijo.
Además, el método tendría parámetros, para que pases los datos obtenidos del
1º hijo.

Por ejemplo:

class Padre MDI : Form {
// ...
public void LanzarDetalle(hijoACerrar: Form; clavePrimariaRegistro:
Integer) {
hijoACerrar.Close(); // cerrar el 1º hijo
Hijo_2 h2 = new Hijo_2(clavePrimariaRegistro);
// se le añade a esa clase hija un nuevo constructor en la que se
transfieren los datos
// obtenidos del otro...
// ese constructor además debería preparar la interfaz de usuario del
formulario
// antes de que lo mostremos
h2.Show(); // mostrar el otro hijo
}
}

Salu2,

Octavio Hernandez

"ed" escribió en el mensaje
news:%23N0qZzg%
A ver si alguien me puede ayudar
Tengo un Formulario que contiene forms
En uno de ellos tengo un DataGrid con una serie de datos y lo que quiero
que al hacer doble click me saque el id de uno de ellos y lo pase a otro a
otro form cerrando el primero y mostrando el segundo
El sacar valores del datgrid lo tengo controlado, lo que no se es como
hacer para cerrar el mdichild actual y pasar el dato hasta el otro form q
tambien es child del form principal
Espero haberme explicado bien y que alguien me pueda ayudar

Preguntas similares