自定义自定义控件的点击事件
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; }
}
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; }
}
相关文章推荐
- android 自定义ListView实现下拉刷新、分页加载、点击事件——自定义控件学习(七)
- jQuery自定义元素右键点击事件(实现案例)
- Android自定义View与添加点击事件
- AlertDialog中使用自定义View,view中的Button如何设置点击事件监听
- iOS开发-UI控件:自定义UITableViewCell 上的多个按钮点击事件处理
- Android自定义适配器和ListView的点击事件相结合的使用
- 自定义布局拦截点击事件
- 自定义view随机数点击事件
- 为C#自定义控件添加自定义事件
- 自定义view系列(3)--给自定义View添加点击事件
- Android 自定义view模板并实现点击事件的回调
- 自定义VIEW中区域点击事件
- 自定义TabHost中选项卡的点击监听事件
- ListView使用自定义适配器的情况下实现适配器的文本和图标控件点击事件执行Activity界面中的方法
- AlertDialog中使用自定义View,其中的Button如何设置点击事件监听
- Android ---------高德卫星地图绘制多个点和点的点击事件自定义弹窗
- HTML5 自定义点击事件
- Android TextView 给文本中指定片段添加自定义点击事件
- IOS之UI--自定义按钮实现代理监听点击事件
- Asp.net 2.0自定义控件(点击HyperLink后执行事件)[网友问题: DataList里HyperLink控件激发事件,在哪定义?]