sql >> Base de Datos >  >> RDS >> Mysql

Llamar a un método desde otro formulario en C#

Primero, envuelva su código de actualización en un método propio y llámelo desde su método de controlador de eventos de clic, así:

    private void btnRefresh_Click(object sender, EventArgs e) 
    { 
        this.RefreshData();
    }

    public void RefreshData()
    {
        GVThesis.DataSource = thesisRepository.GetThesis(); 
        GVThesis.Refresh(); 
    }

Luego, suponiendo que está instanciando y lanzando el nuevo formulario (Form2) desde su Form1, simplemente ingrese al código de Form2 y cree una nueva sobrecarga de constructor que aceptará una referencia a Form1 y la almacenará en una variable privada, así :

public partial class Form2 : Form
{
    private Form1 frm1;

    public Form2()
    {
        InitializeComponent();
    }

    public Form2(Form1 otherForm)
    {
        InitializeComponent();
        this.frm1 = otherForm;
    }
}

Luego puede llamar a la "actualización" desde cualquier lugar que desee en Form2 así:

this.frm1.RefreshData();


EDITAR:

Creé una pequeña muestra, no puedo subirla aquí... pero aquí hay una captura de pantalla del programa en VS, así como una captura de pantalla del resultado de ejecutarlo y realizar la función ...esperamos que eso ayude.

El programa (amplía la vista si parece demasiado pequeña)


El resultado: