您的位置:首页 > 其它

自定义自定义控件的点击事件

2010-03-16 15:52 204 查看
在最近的项目中遇到一个这种问题,如何在调用自定义控件的Form中调用点击事件,而不是在写在自定义控件中调用。

Form控件中的方法:
bugEditor.ButtonCaptureScreenClick+= new EventHandler(editor_ButtonCaptureScreenClick);
private void editor_ButtonCaptureScreenClick(object sender, EventArgs e) {
MessageBox.Show("test");
}

实现在自定义控件中定义响应事件的方法有二种 :
1:
#region ScreenCut
private static readonly object EventButtonCaptureScreenClick = new object();

public event EventHandler ButtonCaptureScreenClick
{
add {base.Events.AddHandler(EventButtonCaptureScreenClick,value);}
remove { base.Events.RemoveHandler(EventButtonCaptureScreenClick, value); }
}
protected virtual void OnButtonCaptureScreenClick(EventArgs e)
{
EventHandler handler =
base.Events[EventButtonCaptureScreenClick] as EventHandler;
if (handler != null)
{
handler(this, e);
}
}
private void btnScreenCut_Click(object sender, EventArgs e)
{
OnButtonCaptureScreenClick(e);
}//在designer页面中添加事件的委托
#endregion
2 :
public event EventHandler ButtonCaptureScreenClick
{
add { this.btnScreenCut.Click += value; }
remove { this.btnScreenCut.Click -= value; }
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: