簡體   English   中英

從其他表單上的按鈕單擊事件處理程序刷新控件或重新加載表單

[英]Refresh the control or reload form from button click event handler on other form

我在Liste_Form中有一個GridView在Close_Form中有一個按鈕。

當我單擊Close_Form上的按鈕時,如何在Liste_Form中刷新Gridview

或重新加載Liste_Form。

您有幾種方法可以完成此操作。 我可能建議的一種方法是將委托傳遞給構造函數中的第二種形式:

Form2 myForm2 = new Form2(RefreshGrid); // assign to a Form2 local variable

...在Form1(網格所有者)中的RefreshGrid定義了RefreshGrid方法:

void RefreshGrid(){
   // perform grid refresh
}

...以便在myForm2中單擊按鈕時可以執行操作:

void OnButtonClicked(object sender, EventArgs e){
   refreshAction();
}

在Close_Form上定義事件(當然,考慮使用更好的事件名稱):

public event EventHandler SomethingHappened; 

在按鈕單擊事件處理程序中引發此事件:

private void Button_Click(object sender, EventArgs e)
{
    if (SomethingHappened != null)
        SomethingHappened(this, EventArgs.Empty);
}

在Liste_Form上訂閱此事件:

Close_Form closeForm = new Close_Form();
closeForm.SomethingHappened += Close_Form_SomethingHappened;

在此事件處理程序中刷新列表:

private void Close_Form_SomethingHappened(object sender, EventArgs e)
{
    // refresh GridView
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM