2016-12-29 1 views
0

Ich versuche, Ereignis von einem Steuerelement zum anderen auszulösen, aber es behält Nullwert. Ich habe einen Delegaten und ein Ereignis deklariert und eine Methode erstellt, die überprüft, ob das Ereignis im zweiten Steuerelement nicht null ist. Diese Methode wird auf Tastenklick aufgerufen und soll erste Kontrolle benachrichtigen, eine Aktion (erfrischende Rasterdaten)Ereignis behält Nullwert

//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 
} 

} 

ich Hilfe, thx appretiate zu tun.

Antwort

0

Öffnen Sie die Childform mit _inv .Show() -Methode.

+0

Ich versuche, dieses Ereignis beim Schließen der untergeordneten Form zu feuern. – user3343010

+0

haben Sie das Objekt Ihrer ChildForm (_inv) verwendet, um die Methode anzuzeigen (d. H. _inv.Show()). – Fineiwilldoitmyself

+1

@ user3343010 Es gibt bereits ein Abschlussereignis. Sie müssen nicht selbst eines erstellen. – Servy