post icon

Retornar valores al cerrar formulario en C#

Una de las cosas más consultadas a la hora de programar con Winform es como pasar valores entre formularios, dicha tarea es de lo  más sencilla utilizando setters y getters, concepto bien básicos de la programación orientada a objetos.

Lo único que se debe hacer es que un formulario llame a otro que haga alguna tarea especifica preparando los datos a retornar, y el invocador finalmente los consulte, cuando vean el código les parecerá más sencillo.

El código del formulario que invoca sería así:

public partial class Form1 : Form
{
	public Form1()
	{
		InitializeComponent();
	}

	private void button1_Click(object sender, EventArgs e)
	{
		Form2 form = new Form2();
		if (form.ShowDialog() == DialogResult.OK)
			MessageBox.Show(form.ValorRetorno);
	}
}

Y él código del formulario que retornará los datos será así:

public partial class Form2 : Form
{
    public Form2()
    {
        InitializeComponent();
    }
 
    // propiedad
    public string ValorRetorno { get; set; }
 
    private void button1_Click(object sender, EventArgs e)
    {
        DialogResult = DialogResult.OK; //cierra el formulario
        this.Close();
    }
 
    private void textBox1_TextChanged(object sender, EventArgs e)
    {
		/* escribir una logica de negocios aqui*/
        ValorRetorno = textBox1.Text; //Actualiza la propiedad
    }
}

Comentarios desde Facebook:

  1. avatar
    Andres ARGENTINA Google Chrome Windows
    1 julio 2013 at 01:45 #

    lo que me hizo rabear y era tan facil jaja, porque no se puede usar diractamente el texbox de un formuario desde otro directamente, me salvaste el sistema ^^

  2. avatar
    Christian Agustin Google Chrome Windows
    13 mayo 2013 at 16:26 #

    Gracias Maestrisimo

  3. avatar
    javb89 PERU Mozilla Firefox Windows
    20 junio 2012 at 14:14 #

    Muy buenooo

Responder