Börja med att slå in din uppdateringskod i en egen metod och anropa den från din klickhändelsehanterarmetod, så här:
private void btnRefresh_Click(object sender, EventArgs e)
{
this.RefreshData();
}
public void RefreshData()
{
GVThesis.DataSource = thesisRepository.GetThesis();
GVThesis.Refresh();
}
Sedan, förutsatt att du instansierar och startar det nya formuläret (Form2) från din Form1, gå helt enkelt in i koden för Form2 och skapa dig en ny konstruktoröverbelastning som kommer att acceptera en referens till Form1, och lagra den i en privat variabel, som så. :
public partial class Form2 : Form
{
private Form1 frm1;
public Form2()
{
InitializeComponent();
}
public Form2(Form1 otherForm)
{
InitializeComponent();
this.frm1 = otherForm;
}
}
Sedan kan du anropa "uppdateringen" var du vill i Form2 så här:
this.frm1.RefreshData();
REDIGERA:
Jag skapade ett litet prov, jag kan inte ladda upp det här...men här är en skärmdump av både själva programmet i VS, samt en skärmdump av resultatet av att köra det och utföra funktionen ...förhoppningsvis hjälper det.
Programmet (zooma din vy om den verkar för liten)
Resultatet: