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

Preguntas similare

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
Respuesta Responder a este mensaje
#2 ed
23/02/2004 - 17:42 | Informe spam
Ok gracias por contestar
Esto q me has comentado tu es mas o menos lo q estaba intentando y me da
varios errores segun com o lo haga. El siguiente error me lo da con el
codigo de mas abajo:

"Excepción no controlada del tipo 'System.OutOfMemoryException' en
system.windows.forms.dll"
"Información adicional: Error al crear identificador de ventana."
Os pongo como tengo el codigo, a ver si alguien sabe en q estoy fallando

codigo del frmChild al hacer dobleclick ******************
private void DobleClickDG(object sender, System.EventArgs e)
{
this._hojaID = this.GetSelectedID("Hoja ID");
frmMain frm = new frmMain();
frm = this.MdiParent;
frm.MostrarHojaSeleccionada(HojaId, Me);
}

codigo del metodo publico del mdiParent ******************
public void MostrarHojaSeleccionada(doube ID, frmChild frm)
{
frm.close();
frmHoja _frmHoja = New frmHoja();
_frmHoja.MdiParent = this;
if (ID < 0)
_frmHoja.NuevaHoja = True;
else
_frmHoja.NuevaHoja = False;
_frmHoja.HojaCod = ID;
_frmHoja.Show(); //aqui es donde me esta dando todos los problemas
_frmHoja.Dock = DockStyle.Fill;
}

A ver si alguien sabe como solucionarlo gracias
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida