2016-12-29 2 views
0

イベントをあるコントロールから別のコントロールに発行しようとしていますが、null値を保持しています。デリゲートとイベントを宣言し、イベントが2番目のコントロールでnullでないかどうかをチェックするメソッドを作成しました。その方法は、私は任意のヘルプ、THXをappretiateイベントはnull値を保持します

//Child form 
public partial class InventuraForm 
{ 
    SqlClient client = null; 

    public delegate void NekiDelegat(); 
    public event NekiDelegat MojEvent; 


    public void SendEvent() 
    { 
     if (MojEvent != null) MojEvent(); //MojEvent keeps showing null 
    } 

    //Saving data and exiting the control 
    public void tsbSpremiZatvori_Click(object sender, EventArgs e) 
    { 
     //some code 

     SendEvent(); 
    } 
}   


//Parent form 
public partial class InventuraFormPregled 
{ 
    InventuraForm _inv = null; 

    public InventuraFormPregled() 
    { 
     InitializeComponent(); 

     _inv = new InventuraForm(); 
     _inv.MojEvent += new InventuraForm.NekiDelegat(LoadGridData);   

    }  

//refresing the data on grid 
private void LoadGridData() 
{ 
//some code 
} 

} 

(グリッドデータをリフレッシュ)ボタンクリックで呼び出されると、いくつかのアクションを行うために第一制御に通知することになっています。

答えて

0

_inv .Show()メソッドでchildformを開きます。

+0

子フォームを閉じている間にこのイベントを発生させようとしています。 – user3343010

+0

あなたのchildform(_inv)のオブジェクトを使用してメソッドを表示しています(つまり_inv.Show())。 – Fineiwilldoitmyself

+1

@ user3343010既にクローズイベントがあります。自分で作成する必要はありません。 – Servy

関連する問題