C#修改控件自定义Event

C# Modified control custom Event

假设我有一个修改过的文本框控件

public class resButton : TextBox
{

    [Browsable(true)]


    [Description("state of TextBox"), Category("Data")]
    public string textBoxState
    {
        get { return this.AccessibleDescription; }
        set {
            this.AccessibleDescription = value;
            }
    }
}

我还添加了一个基于该控件的 AccessibleDescription 的自定义属性。

如何向该控件添加自定义事件? 我想做一个自定义事件,当 "textBoxState" 改变时触发。

public class resButton : TextBox
{

    [Browsable(true)]


    [Description("state of TextBox"), Category("Data")]
    public string textBoxState
    {
        get { return this.AccessibleDescription; }
        set
        {
            this.AccessibleDescription = value;
            if (yourEvent != null)
                yourEvent(this, new EventArgs());
        }
    }

    public event EventHandler yourEvent;
}
public class resButtonUsage
{
    resButton resbuttonInstance;
    public resButtonUsage()
    {
        resbuttonInstance = new resButton();
        resbuttonInstance.yourEvent += resbuttonInstance_yourEvent;
    }

    void resbuttonInstance_yourEvent(object sender, EventArgs e)
    {
        // Your implementation
    }
}

您必须使用现有委托 (EventHandler) 或您的自定义委托来声明类似此示例的事件。 在 属性 的 setter 中声明并调用它后,您可以通过实例化和声明此事件在 class 之外使用。