2011-07-08 188 views
3

我有兩種形式讓它成爲窗體A和窗體B.當我單擊窗體B上的保存按鈕時,我想要刷新窗體A的DataGridView。在Windows窗體刷新DataGridView

我應該使用哪種方法?

+0

沒有你可以調用來實現這個任何單一的方法,但這個想法是觸發將在形式A –

回答

5

使用事件按鈕時,是這樣的一種方式。以下是更多面向對象的另一種方式。

在FormA中添加公共刷新方法。

public void RefreshDataGrid()  
{  
    //Do refresh  
} 

在構建FormB時將FormA的實例傳遞給FormB。你必須創建FormB構造器來獲取FormA實例。

private FormA myFormA;   
    public FormB(FormA formA)   
    {   
     myFormA = formA;   
    } 

現在您可以從FormB調用FormA.ResfreshGrid()方法。

myFormA.RefreshGrid(); 
0

創建綁定gridview的方法,在窗體A的窗體加載中調用此方法,並且如果窗體已經打開,則必須使用其窗體的實例(窗體A),並調用窗體的相同綁定方法一個用於gridview綁定。

1

實現,形式A這樣的代碼:

private delegate void DEmpty(); 
public void RefreshDataGrid() 
{ 
    this.Invoke(new DEmpty(datagrid.Refresh)); 
} 

然後調用這個被點擊第B

+0

我得到了錯誤不知道DEmpty執行必要的行動()事件; – thinzar

+0

我拼錯了DEmpty,現在它的固定爲 – Djole

+0

REfreshDataGrid沒有出現在B中。爲什麼? – thinzar