Autor Tema: retornar valor de un formulario C#  (Leído 8597 veces)

0 Usuarios y 3 Visitantes están viendo este tema.

Desconectado theoden

  • Sv Member
  • ***
  • Mensajes: 383
retornar valor de un formulario C#
« : diciembre 03, 2007, 09:54:38 pm »
Hey otra ves vengo a pedir ayuda por estos rumbos.. necesito abrir un formulario como de catalogo donde seleccione x valor y al darle aceptar me retorne un valor al formulario que lo abrio pero lo que no consigo hacer es que el formulario padre espere el valor que va a retornar el otro formulario..

Se los agradeceria mucho..

Desconectado rdoggsv

  • Administrator
  • The Communiter-
  • *
  • Mensajes: 6530
  • "Once you go arch , u never go back"
    • SV CommunitY
Re: retornar valor de un formulario C#
« Respuesta #1 : diciembre 03, 2007, 10:17:21 pm »
En tu codigo de mdipadre mandas a llamar a el hijo, algo asi por ejemplo:

Código: [Seleccionar]
frm_pasajeros mtto_pasajeros = new frm_pasajeros();
mtto_pasajeros.MdiParent = this;
mtto_pasajeros.WindowState = FormWindowState.Maximized;
mtto_pasajeros.Show();
FuncionAEjecutarDespuesdeElForm();

Con una funcion a ejecutar despues de el Show()

Y en el mismo formulario padre tenes una variable de tipo publica por ejemplo:

Código: [Seleccionar]
public int variable_que_recibo;
En el boton de Aceptar de el Form o el evento Closed() o adonde sea que vos queras que lo envie el form del que recuperas la variable actualizas la variable publica de el form que lo mando a llamar creando un objeto temporal como referencia.

Código: [Seleccionar]
frm_MDI temporal_MDI = (frm_MDI)this.MdiParent;
temporal_MDI.variable_que_recibo=mi_valor;
temporal_MDI = null;

De esta manera vas actualizar la variable de el form que lo mando a llamar, podes jugar con los retornos de Dialogo para ver si te devolvieron algo que servia, o devolvieron cancelar o algo asi, para eso en lugar de Show() podrias mandarlo a llamar con ShowDialog()

Por ejemplo en el form que recuperas la variable si tenes un bonton cancelar que devuelve Cancel en el form padre podes llamarlo como

Código: [Seleccionar]
if (formulario_hijo.ShowDialog() != DialogResult.Cancel)
            {
                Funcion_a_ejecutar_con_la_variable_que_recibi();
            }

Desconectado theoden

  • Sv Member
  • ***
  • Mensajes: 383
Re: retornar valor de un formulario C#
« Respuesta #2 : diciembre 03, 2007, 11:06:10 pm »
Muchas gracias por la ayuda rdoggsv era exactamente lo que estaba buscando.. te repito muchas gracias. funciona 100%.