您好。我有一个包含文本框的UserControl。我想访问文本框的textchanged事件,但在usercontrol的事件属性中,我没有看到文本框的事件。如何使用C#从Winforms中公开公开的UserControl公开和处理子控件的特定事件。
答案 0 :(得分:39)
如果您愿意,可以展示新事件并将所有订阅直接传递给控件:
public class UserControl1 : UserControl
{
// private Button saveButton;
public event EventHandler SaveButtonClick
{
add { saveButton.Click += value; }
remove { saveButton.Click -= value; }
}
}
答案 1 :(得分:2)
将整个TextBox作为公共属性公开在用户控件中,并按照您希望的方式订阅它的事件。
示例:
class myUserControl: UserControl {
private TextBox _myText;
public TextBox MyText { get {return _myText; } }
}
完成此操作后,您可以订阅任何事件,例如:
theUserControl.MyText.WhatEverEvent += ...
希望这有帮助!