关于c#(vs)dategridview控件继承不能修改的问…
2018-06-17 22:40:10来源:未知 阅读 ()
问题描述:前几天写个小项目的时候,用到了一个父窗体,然后继承过来的dategridview控件不管是属性还是事件都不能修改。
如下图所示:
然后我就在网上找资料,但是有关这个问题的资源甚少,或许是我不会找,总之,我根据资料得出了三点东西:
①有关这个问题的论坛或者帖子大部分都是在十年之前的了,而且并没有找出有效解决方法
②在这方面,简单控件继承后是可以修改的,只要改成public,但复杂一点的控件,比如本文所说的dategridview,权限改成什么都不行,他们说这是微软故意设置的,也有的说这是微软的一个bug
③然后有的说虽然控制面板是灰色的不能修改,但可以在后台用代码修改,这点不完全正确,不仅仅是用代码,还得用到一个东西
总之,根据不断的捣腾和讨论,后面我们终于搞出来了,解决方法如下:
比如我想给控件注册一个双击单元格的事件,我们先在父窗体的dategridview(将权限改为public)里直接去面板那里点击事件,然后就会进到后台代码:
如上图而言,将原本的private改为public,然后多加一个virtual,没错,就是采用虚方法重写的方式来达到在子类使用事件。
然后在子窗体里,面板依然是灰色的,不能用点击的方式,我们可以直接在窗体的后台代码里直接写
直接复制父窗体的空事件代码,然后把virtual改成override,然后在代码体里面写东西就行了。
经验证,该方法是可行的
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
下一篇:CLR-2-2-引用类型和值类型
- 关于php开启错误提示的总结 2019-10-09
- 关于laravel后台模板laravel-admin select框的使用详解 2019-10-08
- 关于MySQL的分区 2019-09-23
- SQLServer转成Mysql数据库的方法 2019-08-23
- 关于MySQL的优点 2019-08-23
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash