C# 自定义控件和自定义事件
2013-03-13 23:50
543 查看
今天在项目开发的过程中,因为好几个页面都要用到同一个分类控件,就想着把它做成一个自定义控件,然后随托随用。在网上找了些列子,自定义控件的写法不用多说,主要说一下,如何将控件的事件,封装到自己定义的控件的自定义事件里面。这里同时也当作对自定义事件的一个复习吧。
首先控件是一个由TreeList控件组成的,后面由填充从数据查出来的数据信息。现在的问题是如何将TreeList的FocusedNodeChanged事件封装到自定义的事件
RSFocusedNodeChanged中。
首先定义事件的代理类
然后,自定一个事件和处理事件的委托:
然后定义之间的执行方法:
最后,在TreeList的FocusedNodeChanged事件中触发我们自定义的事件:
完成!!
首先控件是一个由TreeList控件组成的,后面由填充从数据查出来的数据信息。现在的问题是如何将TreeList的FocusedNodeChanged事件封装到自定义的事件
RSFocusedNodeChanged中。
首先定义事件的代理类
public class RSFocusedNodeChangedHandlerArgs { /// <summary> /// 选中的节点 /// </summary> public TreeListNode focusedNode { get; set; } public RSFocusedNodeChangedHandlerArgs(TreeListNode node) { this.focusedNode = node; } }
然后,自定一个事件和处理事件的委托:
/// <summary> /// 自定义focuseNode事件 /// </summary> public event RSFocusedNodeChangedHandler RSFocusedNodeChanged; /// <summary> /// 自定义处理focuseNode事件的委托 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> public delegate void RSFocusedNodeChangedHandler(Object sender, RSFocusedNodeChangedHandlerArgs e);
然后定义之间的执行方法:
/// <summary> /// 执行事件 /// </summary> /// <param name="e"></param> public void OnRSFocusedNodeChangedHandler(RSFocusedNodeChangedHandlerArgs e) { if (RSFocusedNodeChanged != null) { RSFocusedNodeChanged(this,e); } }
最后,在TreeList的FocusedNodeChanged事件中触发我们自定义的事件:
public void treeList1_FocusedNodeChanged(object sender, DevExpress.XtraTreeList.FocusedNodeChangedEventArgs e) { //触发自定义事件 RSFocusedNodeChangedHandlerArgs er = new RSFocusedNodeChangedHandlerArgs(e.Node); OnRSFocusedNodeChangedHandler(er); }
完成!!
相关文章推荐
- 为C#自定义控件添加自定义事件
- c# 类和自定义控件的自定义事件
- 为C#自定义控件添加自定义事件
- c# 自定义控件如何在属性栏添加自定义事件
- C# 自定义控件入门(自定义控件添加事件1)
- Android自定义控件系列 十:利用添加自定义布局来搞定触摸事件的分发,解决组合界面中特定控件响应特定方向的事件
- 浅析C#的事件处理和自定义事件
- 浅析C#的事件处理和自定义(转)
- C#中如何截取Windows消息来触发自定义事件
- 为自定义控件添加自定义事件
- C#委托、自定义、事件
- c#创建自定义控件并给控件添加事件
- C#自定义事件
- asp.net中c#自定义事件的实现方法详解
- C#中自定义控件隐藏基类成员(属性、方法和事件)的方法
- C# winform中自定义用户控件 然后在页面中调用用户控件的事件
- C# 自定义事件处理
- 在C#使用字典存储事件示例及实现自定义事件访问器
- 自定义 TreeView 第三种状态(C#自定义控件)
- 浅析C#的事件处理和自定义事件