sql >> Database teknologi >  >> RDS >> Mysql

Kald en metode fra en anden formular i C#

Først skal du pakke din opdateringskode ind i en metode for sig selv, og kald den fra din klikhændelseshåndteringsmetode, som sådan:

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

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

Så, hvis du antager, at du instansierer og starter den nye formular (Form2) fra din Form1, skal du blot gå ind i koden for Form2 og oprette dig en ny konstruktøroverbelastning, som vil acceptere en reference til Form1, og gemme den i en privat variabel, som f.eks. :

public partial class Form2 : Form
{
    private Form1 frm1;

    public Form2()
    {
        InitializeComponent();
    }

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

Så kan du kalde "refresh" hvor som helst du vil i Form2 sådan:

this.frm1.RefreshData();


REDIGERING:

Jeg har lavet en lille prøve, jeg kan ikke uploade den her...men her er et skærmbillede af både selve programmet i VS, samt et skærmbillede af resultatet af at køre det og udføre funktionen ...forhåbentlig vil det hjælpe.

Programmet (zoom dit billede, hvis det ser for lille ud)


Resultatet:




  1. Forespørgselsbyggeren indsætter ikke tidsstempler

  2. Bedre PHP, MySql, HTML og JavaScript IDE

  3. Tabellen er for bred til at passe i Markdown-genereret PDF

  4. Hvad er forskellen mellem skema og database?