创建自定义控件并继承TextBox
;我向此控件SelectedRow
添加了新属性,在此TextBox
显示弹出窗体和用户选择项中,此项目放在SelectedRow
属性中。这部分是正常的。现在我想要在SelectedRow
属性更改时引发此控件的事件。为此我宣布delegate
:
public delegate void EventDelegate(object sender, EventArgs e);
来自event
的和实例delegate
:
public event EventDelegate SelectedChange;
并添加事件调用者:
protected virtual void OnSelectedChange(EventArgs e)
{
EventDelegate handler = SelectedChange;
if (handler != null) handler(this, EventArgs.Empty);
}
并在结束步骤中从属性调用OnSelectedChange
:
public object SelectedRow
{
get { return _selectedRow; }
set
{
if (value == null || value == _selectedRow) return;
_selectedRow = value;
this.OnSelectedChange(EventArgs.Empty);
}
}
我的问题:
1-在OnSelectedChange
处理程序中始终为null且事件未提升
2 - 我的方法是正确的吗?