C# 如何将事件从一个类传递给子对象?

C# 如何将事件从一个类传递给子对象?,c#,winforms,events,overriding,C#,Winforms,Events,Overriding,我有一个名为TextBoxPlus的类,它继承自UserControl并保存多个常规TextBox实例,同时还检查它们的功能。我的Windows窗体中有一个instance ofTextBoxPlus,它正在调用TextChanged事件。我的问题是希望它传递到TextBoxPlus中一个TextBox实例的TextChanged事件。我不想将文本框公开,因此我可能会考虑使用覆盖,但我不确定如何执行此操作,因为这不起作用: protected override void TextChanged(

我有一个名为
TextBoxPlus
的类,它继承自
UserControl
并保存多个常规
TextBox
实例,同时还检查它们的功能。我的Windows窗体中有一个instance of
TextBoxPlus
,它正在调用
TextChanged
事件。我的问题是希望它传递到
TextBoxPlus
中一个
TextBox
实例的
TextChanged
事件。我不想将
文本框
公开,因此我可能会考虑使用
覆盖
,但我不确定如何执行此操作,因为这不起作用:

protected override void TextChanged(EventArgs e)
{
    this.textbox.TextChanged(e);
}

显然是由于
TextChanged
事件没有调用方法。如何实现这一点?

在包含类上定义一个事件,该类的实现将其处理程序添加到包含对象的事件中:

public event  EventHandler TextChanged
{
    add
    {
        textbox.TextChanged += value;
    }
    remove
    {
        textbox.TextChanged -= value;
    }
}

在将事件处理程序添加到用户控件时,是否尝试将其添加到每个单独的文本框中?tb.OnTextChanged+=new…您需要处理每个文本框的
TextChanged
事件,并引发
TextBoxPlus
TextChanged
事件。太好了,我不知道如何添加和删除事件处理程序的属性。非常感谢你!