2016-12-29 6 views
0

Я пытаюсь запустить событие из одного элемента управления в другой, но он сохраняет значение null. Я объявил делегат и событие и создал метод, который проверяет, не является ли событие недействительным для второго элемента управления. Этот метод вызывается кнопка мыши и должен уведомить 1-го управления, чтобы сделать какое-то действие (обновление данных сетки)Событие сохраняет значение 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 
} 

} 

Я appretiate любой помощи, ТНХУ.

ответ

0

Открыть дочернюю форму методом _inv .Show().

+0

Я пытаюсь запустить это событие, ЗАКРЫВАЯ детскую форму. – user3343010

+0

Вы использовали объект вашего childform (_inv) для отображения метода (например, _inv.Show()). – Fineiwilldoitmyself

+1

@ user3343010 Уже есть событие закрытия. Вам не нужно создавать их самостоятельно. – Servy

Смежные вопросы