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: