Om te beginnen, wikkel uw verversingscode in een eigen methode en roep die aan vanuit uw klikgebeurtenishandlermethode, zoals zo:
private void btnRefresh_Click(object sender, EventArgs e)
{
this.RefreshData();
}
public void RefreshData()
{
GVThesis.DataSource = thesisRepository.GetThesis();
GVThesis.Refresh();
}
Ga er dan van uit dat je het nieuwe formulier (Form2) vanuit je Form1 start en start, ga gewoon naar de code van Form2 en maak een nieuwe constructor-overload voor jezelf die een verwijzing naar Form1 accepteert en sla het op in een privévariabele, zoals zo :
public partial class Form2 : Form
{
private Form1 frm1;
public Form2()
{
InitializeComponent();
}
public Form2(Form1 otherForm)
{
InitializeComponent();
this.frm1 = otherForm;
}
}
Dan kun je de "refresh" van waar je maar wilt in Form2 als volgt aanroepen:
this.frm1.RefreshData();
BEWERKEN:
Ik heb een klein voorbeeld gemaakt, ik kan het hier niet uploaden...maar hier is een screenshot van zowel het programma zelf in VS als een screenshot van het resultaat van het uitvoeren en uitvoeren van de functie ...hopelijk helpt dat.
Het programma (zoom in als het te klein lijkt)
Het resultaat: