Packen Sie zuerst Ihren Aktualisierungscode in eine eigene Methode und rufen Sie diese von Ihrer Click-Event-Handler-Methode auf, etwa so:
private void btnRefresh_Click(object sender, EventArgs e)
{
this.RefreshData();
}
public void RefreshData()
{
GVThesis.DataSource = thesisRepository.GetThesis();
GVThesis.Refresh();
}
Angenommen, Sie instanziieren und starten das neue Formular (Form2) von Ihrem Form1 aus, gehen Sie einfach in den Code von Form2 und erstellen Sie sich selbst eine neue Konstruktorüberladung, die einen Verweis auf Form1 akzeptiert und in einer privaten Variablen speichert :
public partial class Form2 : Form
{
private Form1 frm1;
public Form2()
{
InitializeComponent();
}
public Form2(Form1 otherForm)
{
InitializeComponent();
this.frm1 = otherForm;
}
}
Dann können Sie die "Aktualisierung" von überall in Form2 wie folgt aufrufen:
this.frm1.RefreshData();
BEARBEITEN:
Ich habe ein kleines Beispiel erstellt, ich kann es hier nicht hochladen ... aber hier ist ein Screenshot sowohl des Programms selbst in VS als auch ein Screenshot des Ergebnisses der Ausführung und Ausführung der Funktion ...hoffentlich hilft das.
Das Programm (zoomen Sie Ihre Ansicht, wenn sie zu klein erscheint)
Das Ergebnis: