我有一个带有自定义控件的表单。该控件在ItemChanged事件上有一个事件处理程序。
private void ncNomSimple_ItemChanged(object sender, EventArgs e)
{
some code..
}
我继承了这个表单,因此我在新表单中拥有控件和事件,但是我希望在我的新表单中为该事件调用另一个事件处理程序,而不是上面的事件。我怎样才能做到这一点?
答案 0 :(得分:5)
在基类中:
protected virtual void ncNomSimple_ItemChanged(object sender, EventArgs e)
{
MessageBox.Show("called from Test class");
}
在派生类中:
protected override void ncNomSimple_ItemChanged(object sender, EventArgs e)
{
MessageBox.Show("called from Test1 class");
}
答案 1 :(得分:2)
将事件处理程序从private
更改为protected virtual
并以继承的形式覆盖它。
答案 2 :(得分:0)
在基类中,将其写为(公共/受保护)虚拟,然后您可以在子类中编写覆盖,但我不认为基类应该受到保护。如果我错了,请纠正我