Retornar Valor desde un WindowsForm

03/11/2006 - 16:38 por Daniel Maldonado | Informe spam
Amigos:

Es mi segundo día en C# y tengo una duda existencial.

Tengo un formulario Windows llamado Pantalla01. desde
alli llamo a otro formulario que se llama Pantalla02.

Necesito que la segunda pantalla me retorne un valor y no
se a donde poner ese valor ?.

A donde poner un ... Return (valor)

a donde ?. en que evento ???.

Daniel.
 

Leer las respuestas

#1 Alberto Poblacion [MVP]
03/11/2006 - 16:51 | Informe spam
"Daniel Maldonado" wrote in message
news:eZbVjz1$
Es mi segundo día en C# y tengo una duda existencial.

Tengo un formulario Windows llamado Pantalla01. desde
alli llamo a otro formulario que se llama Pantalla02.

Necesito que la segunda pantalla me retorne un valor y no
se a donde poner ese valor ?.

A donde poner un ... Return (valor)



Si quieres que el formulario devuelva algo cuando lo muestras con un
ShowDialog, pon:
this.DialogResult = resultado;
Pero en el DialogResult no puedes devolver cualquier cosa, sino solo un
número limitado de valores enumerados (usualmente Ok y Cancel).

Si quieres devolver un valor tuyo, cárgalo en una variable pública, y
luego léela antes de destruir el formulario con el Dispose():

//En el código llamante:
Form1 frm = new Form1();
DialogResult resultado=frm.ShowDialog();
if (resultado==Dialogresult.Ok)
{
valordevuelto = frm.Valor;
}
frm.Dispose();

//En el formulario llamado (Form1):
public string Valor;
...
ButtonOk_Click(...)
{
this.Valor="Esto es el resultado";
this.DialogResult=DialogResult.Ok;
}
ButtonCancelar_Click(...)
{
this.DialogResult=DialogResult.Cancel;
}

Preguntas similares