2015-10-13 82 views
0

我有一个名为TextBoxPlus的类,它继承自UserControl并拥有多个常规的TextBox实例,同时也在其功能上扩展。我在我的Windows窗体调用TextChanged事件时有一个TextBoxPlus的例子。我遇到的问题是我希望它通过TextBoxPlus内的TextBox实例之一的TextChanged事件。我不想让公众TextBox所以我可能会寻找一个override,但我不知道如何做到这一点,因为这不工作:如何将一个事件从一个类传递给子对象?

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

显然由于TextChanged事件不调用一个方法。我怎样才能做到这一点?

+0

您是否尝试过的事件处理程序,当你将它添加到您的用户控件添加到每个单独的文本框? tb.OnTextChanged + = new ... –

+0

您需要处理每个文本框的TextChanged事件并引发TextBoxPlus的TextChanged事件。 –

回答

2

定义的含类,它的实现增加了它的处理程序所包含的对象的事件的事件:

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

这很棒,我不知道为事件处理程序添加和删除属性。非常感谢! – Chrayfish

相关问题