最も簡単な答えは、Form1 でパブリック メソッドを作成することです。それを呼び出してRefreshList()
、Form2 のボタン クリック イベントで を呼び出すだけForm1.RefreshList
です。簡単なサンプルを次に示します。
フォーム 2:
public Form1 ParentForm { get; set; }
private void Button_Click(object Sender, EventArgs args) {
{
// After the rest of your handler
if(ParentForm != null)
ParentForm.RefreshList();
Close(); // Close Form2 here, we're done!
}
フォーム 1:
private void ShowForm2()
{
Form2 form2 = new Form2();
form2.ParentForm = this;
form2.Show();
}
public void RefreshList()
{
// do your refresh here
}
最初は、Form2 を閉じたときにこれを実行したいと言いましたが、後で「Form2 で [追加] を押すと、Form1 の [ListView] をリロードしたい」と言いました。他の人が言及したように、イベントを使用できるため、Closed
このアプローチを使用して2番目のケースに対処しました.