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

イベント ハンドラーを からprivateに変更protected virtualし、継承された形式でオーバーライドします。

于 2012-12-18T08:53:56.050 に答える
0

基底クラスに(public/protected)virtualと書いて、子クラスにオーバーライドを書けばいいのですが、基底クラスを保護するべきではないと思います。間違っていたら訂正してください

于 2012-12-18T09:28:24.407 に答える