Pasar datos entre formularios

publicado por: Anonymous

Lenguaje: C Sharp

En el MainForm tengo un datagridview cuyo datasource es un dataset con un datatable.

Con un botón se abre el form2 y en este se elige un número de fila.
Al aceptar, el form2 debe cerrarse y el número elegido por el usuario va a usarse como índice de fila para eliminar en el dataset del Main

No sé cómo puedo pasar este dato. Encontré como pasar de un form a otro usando sus nombres de instancia al crearlos pero el MainForm se ejecuta solo, no sé que nombre tiene la instancia.

solución

Clase Padre:

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

    private void btnAbrirHijio_Click(object sender, EventArgs e)
    {
        Hijo hijo = new Hijo(); //Instancia del Hijo
        DialogResult res = hijo.ShowDialog(); //Llamamos nuestra ventana hija a manera de DialogResult
        if (res == DialogResult.OK) //Nos debe regresar un Dialogresult.OK
        {
            string IndiceSeleccionadoDesdeHijo = hijo.IndiceSeleccionado; //Y listo, nos traermos la informacion
        }
    }
}

Clase Hija:

public partial class Hijo : Form
{
    public string IndiceSeleccionado = ""; //Necesitaremos una clase global para obtener los datos desde la clase padre

    public Hijo() //Este es el contructor de la clase
    {
        InitializeComponent();
        btnAceptar.DialogResult = DialogResult.OK; //Esto hara que al dar Click a nuestro boton, este regrese un DialogResult.OK y podamos cacharlo en la clase padre.

    }

    private void btnAceptar_Click(object sender, EventArgs e)
    {

        IndiceSeleccionado = txtIndice.Text; //Asignacion a variable global de la que el Padre extraera el dato

    }
}

Si necesitas ayuda me dices, pero en si esta es la logica que necesitas amigo.
Saludos!

Respondido por: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *