c#中,继承button控件,并编写一个自己定义的事件,举一个例子
时间: 2024-02-26 13:56:48 浏览: 23
好的,下面是一个继承Button控件并添加自定义事件的例子:
```csharp
// 自定义按钮控件
class MyButton : Button
{
// 自定义事件
public event EventHandler<MyEventArgs> MyEvent;
// 触发自定义事件
protected virtual void OnMyEvent(MyEventArgs e)
{
MyEvent?.Invoke(this, e);
}
// 重载OnClick方法,在点击按钮时触发自定义事件
protected override void OnClick(EventArgs e)
{
base.OnClick(e);
// 触发自定义事件,并传入自定义参数
OnMyEvent(new MyEventArgs("Hello World!"));
}
}
// 自定义事件参数类
class MyEventArgs : EventArgs
{
// 自定义参数
public string Message { get; set; }
public MyEventArgs(string message)
{
Message = message;
}
}
```
使用时,可以像使用普通的Button控件一样,绑定事件处理程序:
```csharp
MyButton myButton = new MyButton();
myButton.Text = "Click Me!";
myButton.MyEvent += (sender, args) =>
{
MessageBox.Show(args.Message);
};
```
当点击按钮时,会触发自定义事件,并弹出一个消息框显示自定义参数。