3

我有一个带有自定义控件的表单。该控件在 ItemChanged 事件上有一个事件处理程序。

private void ncNomSimple_ItemChanged(object sender, EventArgs e)
{
    some code..
}

我继承了这个表单,因此我拥有新表单中的控件和事件,但我希望为该事件调用新表单中的另一个事件处理程序,而不是上面的事件处理程序。我怎样才能做到这一点?

4

3 回答 3

6

在基类中:

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");
}
于 2012-12-18T09:00:02.727 回答
3

将事件处理程序从 更改privateprotected virtual并以继承的形式覆盖它。

于 2012-12-18T08:53:56.050 回答
0

在基类中,写成(public/protected)virtual,然后你可以在子类中写override,但我认为基类不应该被保护。如果我错了,请纠正我

于 2012-12-18T09:28:24.407 回答