Nejprve zabalte svůj obnovovací kód do vlastní metody a zavolejte ji z metody obsluhy události kliknutí, například takto:
private void btnRefresh_Click(object sender, EventArgs e)
{
this.RefreshData();
}
public void RefreshData()
{
GVThesis.DataSource = thesisRepository.GetThesis();
GVThesis.Refresh();
}
Poté, za předpokladu, že vytváříte instanci a spouštíte nový formulář (Form2) z vašeho Formuláře1, jednoduše přejděte do kódu Formuláře2 a vytvořte si nové přetížení konstruktoru, který bude přijímat odkaz na Formulář1 a uloží ho do soukromé proměnné, např. :
public partial class Form2 : Form
{
private Form1 frm1;
public Form2()
{
InitializeComponent();
}
public Form2(Form1 otherForm)
{
InitializeComponent();
this.frm1 = otherForm;
}
}
Poté můžete zavolat „obnovení“ odkudkoli ve formuláři 2, například:
this.frm1.RefreshData();
UPRAVIT:
Vytvořil jsem malou ukázku, nemohu ji sem nahrát...ale zde je screenshot jak samotného programu ve VS, tak i screenshot výsledku jeho spuštění a provedení funkce ...doufám, že to pomůže.
Program (přiblížení, pokud se zdá být příliš malý)
Výsledek: