Reputation: 181
I am very raw and new to C# and GUI events in general.
I have a base class:
public partial class BaseClass : UserControl
{
private event DataChangeEventHandler mDataChangeEvent;
public event DataChangeEventHandler DataChange
{
add
{
mDataChangeEvent += value;
}
remove
{
mDataChangeEvent -= value;
}
}
}
public delegate void DataChangeEventHandler(object sender, EventArgs e);
...
...
protected virtual void Control1_SelectedValueChanged(object sender, EventArgs e)
{
//some code do something
if(mDataChangeEvent != null)
{
EventArgs e = new EventArgs();
mDataChangeEvent(this, e);
}
}
}
// derived class
public partial class DerivedClass : BaseClass
{
...
...
protected override void Control1_SelectedValueChanged(object sender, EventArgs e)
{
base.Control1_SelectedValueChanged(sender, e);
}
}
I ran my code through the debugger. Whenever I change my dropdown control to another value, it will hit break point on my derive class' Control1_SelectedValueChanged then call the base class' Control1_SelectedValueChanged. However, mDataChangeEvent is null. Why?
Upvotes: 1
Views: 310
Reputation: 5600
The form that uses this control has to have a handler for the event. Something like:
BaseClass baseClass = new BaseClass();
baseClass.DataChange += <EventHandlerHere>
Upvotes: 1