繁体   English   中英

在c#中的usercontrol中公开并引发子控件的事件

[英]expose and raise event of a child control in a usercontrol in c#

你好。 我有一个包含文本框的UserControl。 我想访问文本框的textchanged事件,但在usercontrol的事件属性中,我没有看到文本框的事件。 如何使用C#从Winforms中公开公开的UserControl公开和处理子控件的特定事件。

如果您愿意,可以展示新事件并将所有订阅直接传递给控件:

public class UserControl1 : UserControl 
{
    // private Button saveButton;

    public event EventHandler SaveButtonClick
    {
        add { saveButton.Click += value; }
        remove { saveButton.Click -= value; }
    }
}

将整个TextBox公开为用户控件中的公共属性,并以您希望的方式订阅它的事件。
例:

class myUserControl: UserControl { 
private TextBox _myText;
public TextBox MyText { get {return _myText; } }

}

完成此操作后,您可以订阅任何事件,如下所示:

theUserControl.MyText.WhatEverEvent += ... 

希望这可以帮助!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM