我正在尝试创建一个自定义控件并需要从中引发一个事件。这个想法是在点击事件(OnAfterClick)结束时引发一个事件。我找到了一两个关于这样做的教程,但显然在某处缺少一步;我有以下。
在控制中:
public class AfterClickEventArgs : EventArgs
{
...
}
public partial class MyButton : CommandButton
{
public delegate void AfterClickEvnt(object sender, AfterClickEventArgs e);
public event AfterClickUpdatedEvnt AfterClick;
}
protected override void OnClick(EventArgs e)
{
...
Processing here
...
AfterClickEventArgs myArgs = new AfterClickEventArgs();
AfterClick(this, myArgs);
}
在使用控件的程序中:
在 InitializeComponent() 中:
this.MyButton.AfterClick += new System.EventHandler(this.cmdMyButton_Click);
这一行给了我一个编译错误(cmdMyButton_Click 确实存在)。它告诉我:无法将类型“System.EventHandler”隐式转换为“Namespace.MyButton.AfterClick”
谁能告诉我我错过了什么,或者对此有误解吗?