今天看啥
    热点:

      天发国际娱乐官网:在多种因素作用下,一些网站过于注重眼前的绚烂,而忽视了肩上的沉重。

      关于c#(vs)dategridview控件继承不能修改的问题,


      问题描述:前几天写个小项目的时候,用到了一个父窗体,然后继承过来的dategridview控件不管是属性还是事件都不能修改。

      如下图所示:

       

       

       

       

      然后我就在网上找资料,但是有关这个问题的资源甚少,或许是我不会找,总之,我根据资料得出了三点东西:

      ①有关这个问题的论坛或者帖子大部分都是在十年之前的了,而且并没有找出有效解决方法

      ②在这方面,简单控件继承后是可以修改的,只要改成public,但复杂一点的控件,比如本文所说的dategridview,权限改成什么都不行,他们说这是微软故意设置的,也有的说这是微软的一个bug

      ③然后有的说虽然控制面板是灰色的不能修改,但可以在后台用代码修改,这点不完全正确,不仅仅是用代码,还得用到一个东西

       

      总之,根据不断的捣腾和讨论,后面我们终于搞出来了,解决方法如下:

      比如我想给控件注册一个双击单元格的事件,我们先在父窗体的dategridview(将权限改为public)里直接去面板那里点击事件,然后就会进到后台代码:

      如上图而言,将原本的private改为public,然后多加一个virtual,没错,就是采用虚方法重写的方式来达到在子类使用事件。

      然后在子窗体里,面板依然是灰色的,不能用点击的方式,我们可以直接在窗体的后台代码里直接写

       

      直接复制父窗体的空事件代码,然后把virtual改成override,然后在代码体里面写东西就行了。

      经验证,该方法是可行的

       

      www.1click-soft.comtruehttp://www.1click-soft.com/Asp_Netjc/1316279.htmlTechArticle关于c#(vs)dategridview控件继承不能修改的问题, 问题描述: 前几天写个小项目的时候,用到了一个父窗体,然后继承过来的dategridview控件...

      相关文章

        暂无相关文章
      相关搜索:

      帮客评论

      视觉看点
      百度 360 搜狗