如何对Dev中的GridControl控件进行深度封装和全面扩展?

摘要:又是一年清明节至,细雨绵绵犹如泪光,树叶随风摆动.... 转眼间,一年又过去了三分之一,疫情的严峻让不少企业就跟清明时节的树叶一样,摇摇欲坠。裁员的裁员,降薪的降薪,996的996~~说起来都是泪,以上种种竟然在本公司都能见到,然而你现在还
又是一年清明节至,细雨绵绵犹如泪光,树叶随风摆动.... 转眼间,一年又过去了三分之一,疫情的严峻让不少企业就跟清明时节的树叶一样,摇摇欲坠。裁员的裁员,降薪的降薪,996的996~~说起来都是泪,以上种种竟然在本公司都能见到,然而你现在还能看到博主翘着二郎腿,在工位上信誓旦旦的敲着代码也是奇迹!哎,生活不易,且行且珍惜吧!   Talk is Cheap, Show me the code!   如上所说,虽环境如此严峻,但也不能生疏了咱吃饭的手艺。不禁让我感受到,对技术的追求,不仅仅靠的是兴趣,更重要的是坚持啊!   废话少说,前面几个环节,博主分享了对基础控件的封装和扩展(举了几个栗子,大家可以举一反三。或者公众号Call我,源码免费奉上。),后面和大家一起看看对容器控件的封装和扩展,本篇以常用的Dev中GridControl控件的封装和扩展。   对容器控件的封装和扩展,和其他控件一样。首先,新建一个自定义类,让其继承Dev的GridControl: public class KzxGridControl : GridControl, IControl   其次,给需要扩展的属性用特性方式标识,便于在VS设计界面来控制。本篇以最常用的两个功能来进行解析——GridControl右键菜单之复制行和导出Excel.具体核心代码如下: private bool _displayRightClickCopyMenu = true; private bool _displayRightClickExportExcel = true; /// <summary> /// 是否显示右键菜单的复制行 /// </summary> [Category("右键菜单"), Description("DisplayRightClickMenu,显示右键菜单的复制行按钮"), Browsable(true)] public bool DisplayRightClickMenu { get { return _displayRightClickCopyMenu; } set { _displayRightClickCopyMenu = value; } } /// <summary> /// 是否显示右键菜单的导出Excel /// </summary> [Category("右键菜单"), Description("DisplayRightExportExcel,显示右键菜单的导出Excel按钮"), Browsable(true)] public bool DisplayRightExportExcel { get { return _displayRightClickExportExcel; } set { _displayRightClickExportExcel = value; } }   编译后,返回设计界面,点击GridControl控件查看属性窗体会发现我们刚刚新增的扩展属性:   属性设置完毕后,接下来就是初始化绑定该菜单的功能事件。
阅读全文