Retornar resultados

26/05/2004 - 16:59 por fn | Informe spam
¿Como puedo lograr que una ventana me devuelva un resultado tras cerrarla?
Tengo un botón Libreta de Direcciones que muestra todas las cuentas de
correo de los empleados de la empresa y necesito poder devolversela a la
ventana que la invocó con el método Show(). Devo declarar una como padre de
la otra??? En tal caso, cómo puedo hacerlo???

Un saludo y gracias por adelantado ;D

Preguntas similare

Leer las respuestas

#1 A.Poblacion
26/05/2004 - 17:30 | Informe spam
Si usas un ShowDialog, la ventana sigue disponible y puedes recibir los
resultados despues de cerrarla (pero antes de hacer el Dispose). Pero si
usas, como dices, un Show(), la cosa es más complicada porque después de
ejecutar el Show el código de la ventana princial se sigue ejecutando, y no
sabes dónde estarás en la ventana principal para cuando se cierre la hija.
En este caso, lo que puedes hacer es crear una retrollamada. Crea en la
ventana principal una función que reciba los resultados, y cuando llames a
la hija pásale un delegado que apunte a esa función. La hija, al cerrarse,
que invoque el delegado pasándole los resultados.


"fn" wrote in message
news:%
¿Como puedo lograr que una ventana me devuelva un resultado tras cerrarla?
Tengo un botón Libreta de Direcciones que muestra todas las cuentas de
correo de los empleados de la empresa y necesito poder devolversela a la
ventana que la invocó con el método Show(). Devo declarar una como padre


de
la otra??? En tal caso, cómo puedo hacerlo???

Un saludo y gracias por adelantado ;D



Respuesta Responder a este mensaje
#2 Tristan
02/06/2004 - 22:07 | Informe spam
Otra forma de hacerlo en formularios no modales, es capturar el evento
Closed.

Form2 f = new Form2();
f.Closed += new EventHandler(Form2_Closed);
f.Show();

private void Form2_Closed(object sender, System.EventArgs e)
{
Form2 f = (Form2) sender;
MessageBox.Show(f.ValorRetorno);
f.Dispose();
}

class Form2: Form
{
public string ValorRetorno
{
get {return "Valor devuelto";}
}
}

Juan Carlos Badiola
MVP - C#
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida