Mysql
 sql >> Base de données >  >> RDS >> Mysql

Appel d'une méthode à partir d'un autre formulaire en C#

Tout d'abord, encapsulez votre code d'actualisation dans une méthode qui lui est propre et appelez-la à partir de votre méthode de gestionnaire d'événements de clic, comme ceci :

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

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

Ensuite, en supposant que vous instanciez et lancez le nouveau formulaire (Form2) à partir de votre Form1, allez simplement dans le code de Form2 et créez vous-même une nouvelle surcharge de constructeur qui acceptera une référence à Form1 et la stockera dans une variable privée, comme ceci :

public partial class Form2 : Form
{
    private Form1 frm1;

    public Form2()
    {
        InitializeComponent();
    }

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

Ensuite, vous pouvez appeler le "refresh" de n'importe où dans Form2 comme ceci :

this.frm1.RefreshData();


MODIFIER :

J'ai créé un petit échantillon, je ne peux pas le télécharger ici... mais voici une capture d'écran du programme lui-même dans VS, ainsi qu'une capture d'écran du résultat de son exécution et de l'exécution de la fonction ... j'espère que cela vous aidera.

Le programme (zoomez votre vue si elle semble trop petite)


Le résultat :