2011-07-08 12 views
3

フォームAとフォームBの2つのフォームがあります。フォームBの保存ボタンをクリックすると、フォームAのDataGridViewを更新します。WindowsフォームのRefresh DataGridView

どの方法を使用しますか?

+0

ありますが、これを達成するために呼び出すことができ、任意の単一の方法ではありませんが、アイデアは、私は)DEmpty(知られていないエラーが発生しましたA型 –

答えて

5

上でクリックされたときに、イベントを使用して、これを呼び出すには、これを行う1つの方法です。以下は、よりオブジェクト指向の別の方法です。

FormAで公開Refreshメソッドを追加します。

public void RefreshDataGrid()  
{  
    //Do refresh  
} 

はFormBを構築するときFormBするフォームAのインスタンスを渡します。 FormAインスタンスを取得するには、FormBコンストラクタを作成する必要があります。

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

FormBからFormA.ResfreshGrid()メソッドを呼び出すことができます。

myFormA.RefreshGrid(); 
0

フォームをフォームロードしたときにこのメソッドを呼び出す方法を作成します。フォームが既に開いている場合は、そのフォーム(フォームA)を使用し、フォームの同じバインディングメソッドを呼び出す必要があります。グリッドビューバインディングのA。

1

このようなフォームAのコードを実装:

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

ボタンがB

+0

に必要なアクションを実行するイベントをトリガすることです。 – thinzar

+0

私は呼び出しでDEmptyのスペルが間違っていましたが、今度は固定 – Djole

+0

REfreshDataGridはBに表示されません。なぜですか? – thinzar

関連する問題