C#修改控件自定义事件

时间:2016-10-05 18:47:46

标签: c# custom-controls eventhandler

我们说我有一个文本框的修改控件

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"改变了。

1 个答案:

答案 0 :(得分:0)

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中调用它之后,你可以通过实例化和声明这个事件来使用这个类。