Първо, обвийте кода си за опресняване в собствен метод и го извикайте от вашия метод за манипулиране на събития при кликване, така:
private void btnRefresh_Click(object sender, EventArgs e)
{
this.RefreshData();
}
public void RefreshData()
{
GVThesis.DataSource = thesisRepository.GetThesis();
GVThesis.Refresh();
}
След това, ако приемем, че създавате и стартирате новия формуляр (Form2) от вашия Form1, просто влезте в кода на Form2 и създайте сами ново претоварване на конструктора, което ще приеме препратка към Form1 и ще го съхраните в частна променлива, ето така :
public partial class Form2 : Form
{
private Form1 frm1;
public Form2()
{
InitializeComponent();
}
public Form2(Form1 otherForm)
{
InitializeComponent();
this.frm1 = otherForm;
}
}
След това можете да извикате „опресняване“ от всяко място във Form2, както искате:
this.frm1.RefreshData();
РЕДАКТИРАНЕ:
Създадох малка извадка, не мога да я кача тук...но ето екранна снимка на самата програма във VS, както и екранна снимка на резултата от нейното стартиране и изпълнение на функцията ... надявам се, че това ще помогне.
Програмата (увеличете изгледа си, ако изглежда твърде малък)
Резултатът: