关于c#(vs)dategridview控件继承不能修改的问题
问题描述:前几天写个小项目的时候,用到了一个父窗体,然后继承过来的dategridview控件不管是属性还是事件都不能修改。
如下图所示:


然后我就在网上找资料,但是有关这个问题的资源甚少,或许是我不会找,总之,我根据资料得出了三点东西:
①有关这个问题的论坛或者帖子大部分都是在十年之前的了,而且并没有找出有效解决方法
②在这方面,简单控件继承后是可以修改的,只要改成public,但复杂一点的控件,比如本文所说的dategridview,权限改成什么都不行,他们说这是微软故意设置的,也有的说这是微软的一个bug
③然后有的说虽然控制面板是灰色的不能修改,但可以在后台用代码修改,这点不完全正确,不仅仅是用代码,还得用到一个东西
总之,根据不断的捣腾和讨论,后面我们终于搞出来了,解决方法如下:
比如我想给控件注册一个双击单元格的事件,我们先在父窗体的dategridview(将权限改为public)里直接去面板那里点击事件,然后就会进到后台代码:

如上图而言,将原本的private改为public,然后多加一个virtual,没错,就是采用虚方法重写的方式来达到在子类使用事件。
然后在子窗体里,面板依然是灰色的,不能用点击的方式,我们可以直接在窗体的后台代码里直接写

直接复制父窗体的空事件代码,然后把virtual改成override,然后在代码体里面写东西就行了。
经验证,该方法是可行的

关于c#(vs)dategridview控件继承不能修改的问题的更多相关文章
- XMAL语法系列之-(2)---WPF控件继承图
WPF控件继承图 1 FrameworkElement 1.1 Panel(面板类元素) 1.1.1 Canvas 1.1.2 DockPanel 1.1.3 Grid 1.1.4 TabPanel ...
- Android自定义日历控件(继承系统控件实现)
Android自定义日历控件(继承系统控件实现) 主要步骤 编写布局 继承LinearLayout设置子控件 设置数据 继承TextView实现有圆圈背景的TextView 添加Attribute 添 ...
- DevExpress某些控件继承后的可编辑性
今天在使用DevExpress的BarManager菜单控件时,发现在进行继承时无法在继承的子类窗体中对其进行编辑与修改,另外像GridView也有类似的情形,后来查阅资料后,现在可通过DevExpr ...
- iOS UI控件继承关系图
闲来无事,把UI控件的继承关系图整理下来,供自己和大家使用.
- Android-自定义控件-继承View与ViewGroup的初步理解
继承View需要走的流程是: 1.构造实例化, public ChildView(Context context, @Nullable AttributeSet attrs) 2.测量自身的高和宽on ...
- 手动升级Delphi控件时,修改inc文件的办法
以MustangPeakCommonLib.exe控件为例,想让它支持Delphi2010,就需要在D:\Program Files\Common Library\Mustangpeak\Common ...
- 在ListView控件中实现修改功能
实现效果: 知识运用: ListView控件的LabelEdit属性 //指示用户是否可以编辑控件中数据项的标签 public bool LabelEdit{get;set;} 实现代码: priva ...
- [问答] Firemonkey 控件继承后无法显示(空白)
提问:如下安装后的 TMyPanel 能在设计期时正常显示,但 TMyPanel2 在设计期时是白板,不能正常看到,为什么? TMyPanel = class(TPanel) end; TMyCust ...
- DateGridView控件与mysql交互
private void dgv() { //Ip+端口+数据库名+用户名+密码 string connectStr = "server=127.0.0.1;port=3306;databa ...
随机推荐
- 死磕 java集合之LinkedHashMap源码分析
欢迎关注我的公众号"彤哥读源码",查看更多源码系列文章, 与彤哥一起畅游源码的海洋. 简介 LinkedHashMap内部维护了一个双向链表,能保证元素按插入的顺序访问,也能以访问 ...
- linux系统安全设置策略
1.检查是否设置口令长度至少8位,并包括数字,小写字符.大写字符和特殊符号4类中至少2类. 在文件/etc/login.defs中设置 PASS_MIN_LEN 不小于标准值 修改/etc/pam.d ...
- Java基础7:关于Java类和包的那些事
更多内容请关注微信公众号[Java技术江湖] 这是一位阿里 Java 工程师的技术小站,作者黄小斜,专注 Java 相关技术:SSM.SpringBoot.MySQL.分布式.中间件.集群.Linux ...
- 如何合理封装你的轮子、飞机、大炮(以封装OkHttp为例)
前言 对于程序员来说,很多时候,我们都在造房子,从学会框架或者是学会构建整个项目之后,慢慢的我们就会觉得自己在做的事情是一种重复劳动,很多时候只不过是换个面孔而已.而更快的造房子,造好看的房子可能是进 ...
- 大战Java虚拟机【3】—— 类加载机制
前言 当你的代码编译成class文件之后,那么虚拟机如何加载这些文件呢?我们需要知道虚拟机到底做了什么样的事情. 类的生命周期 加载--链接---初始化----使用---卸载 类加载过程 1.加载 读 ...
- centos 7 linux系统安装 mysql5.7.17(glibc版)
前言:经过一天半的折腾,终于把 mysql 5.7.17 版本安装上了 centos 7 系统上,把能参考的博客几乎都看了一遍,终于发现这些细节问题,然而翻了无数的文章,基本上都没有提到这些,所以小生 ...
- PC逆向之代码还原技术,第三讲汇编中加法的代码还原
目录 PC逆向之代码还原技术,第三讲汇编中加法的代码还原 一丶汇编简介 二丶高级代码对应汇编观看. 1.代码还原解析: 总结 PC逆向之代码还原技术,第三讲汇编中加法的代码还原 一丶汇编简介 在讲解加 ...
- 痞子衡嵌入式:第一本Git命令教程(5)- 提交(commit/format-patch/am)
今天是Git系列课程第五课,上一课我们做了Git本地提交前的准备工作,今天痞子衡要讲的是Git本地提交操作. 当我们在仓库工作区下完成了文件增删改操作之后,并且使用git add将文件改动记录在暂存区 ...
- VisualStudio移动开发(C#、VB.NET)Smobiler开发平台——ImageTabBar控件的使用方式
一. 样式一 我们要实现上图中的效果,需要如下的操作: 从工具栏上的“Smobiler Components”拖动一个ImageTabBar控件到窗体界面上 修改ImageTabBa ...
- DSAPI多功能组件编程应用-HTTP监听服务端与客户端
本文中,演示了使用DSAPI.网络相关.HTTP监听,快速建立服务端和客户端. HTTP监听服务端的作用,是监听指定计算机端口,以实现与IIS相同的解析服务,提供客户端的网页请求,当然,这不仅仅是应用 ...