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

本文关键字:对象 一个 事件 | 更新日期: 2023-09-27 18:17:23

我有一个名为TextBoxPlus的类,它继承自UserControl并持有多个常规TextBox实例,同时也扩展了它们的功能。我有TextBoxPlus的实例在我的Windows窗体,正在调用TextChanged事件。我所遇到的问题是,我希望它传递到TextBoxPlusTextBox实例之一的TextChanged事件。我不想让TextBox公开,所以我可能会看一个override,但我不确定如何做到这一点,因为这不起作用:

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

显然是由于TextChanged事件没有调用方法。我怎样才能做到这一点呢?

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

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

public event  EventHandler TextChanged
{
    add
    {
        textbox.TextChanged += value;
    }
    remove
    {
        textbox.TextChanged -= value;
    }
}
相关文章: