c#修改控件自定义事件
本文关键字:事件 自定义 控件 修改 | 更新日期: 2023-09-27 18:11:37
假设我有一个修改过的文本框控件
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中声明并调用它之后,您可以通过实例化并声明此事件在类的外部使用。