b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

扩展datagridview_vb.net datagridview_c datagridview

电脑杂谈  发布时间:2017-05-30 07:06:08  来源:网络整理

c datagridview_扩展datagridview_vb.net datagridview

长江后浪推前浪,虽入行不是很久,但觉得自己已经老了;俱往矣,数风流人物还看今朝。已经好久没有写文章了,今天我又回来了。

一、DataGridViewEx是什么?

resource

什么是DataGridViewEx? 如果你用过DotNetBar或者DevExpress,你就会用到比较好看漂亮功能强大的表控件;美观我们这里不讨论,只针对功能而言;我们用过ListView和DataGridView,你有没有为了CheckBox列没有全选按钮而在你项目中就需要这样的一个按钮,你或许遇到过你想要一个漂亮一点的按钮而不是大小都随着单元在变的按钮。扩展datagridview那么就像DotNetBar的源码中的那样,这里小子不才,分享一点可以通过DataGridView的一些类来进行扩展的,这里命名为DataGridViewEx。

二、DataGridViewEx怎么做?

扩展datagridview_c datagridview_vb.net datagridview

我曾经很想要一个Winform的表,ListView功能太少,DataGridView界面太丑而且太复杂,于是就诞生了我前面WInform自定义表那篇文章,现在回忆一下,那个表可是从底层开始设计,设计了单元,设计了列,设计了行的表,反正从中也学习了表的不少知识。

而现在想想呢,当时挺傻的,现在能使用DataGridView来扩展,那么想要一些功能既方便而且又不失去另外一些功能,并且保证了一些数据加载的可靠性等。那么简单介绍一些如何来扩展DataGridView吧。

对于DotNet库中很多方法都被写成了Sealed的,就是不可继承的;或许是微软自己都觉得他们自带的那些控件既简陋又丑陋吧,所以在控件的继承重绘上还是留给了足够的空间。对于DataGridView需要了解一下表的组织:

resource2

列中包含:表头单元和单元(这个通过模板体现)。 由以上的信息可知,想要扩展DataGridView的列就必须对DataGridViewColumn、DataGridViewColumnHeaderCell、DataGridViewCell进行扩展,然后组合就可以得到一个新的列了。并且在DataGridView的设计器中列类型选择是通过反射来实现的,所以只要新增加一种,就可以自动识别。

c datagridview_扩展datagridview_vb.net datagridview

三、支持全选的的CheckBox列的简单介绍。

1. 扩展了哪几个类。

r3

2. 使用什么绘制CheckBox?

一方面, 在System.Windows.Forms下面有CheckBoxRender、ButtonRender、RadioButtonRender等Render,这些类库可以提供绘制方法。也可以通过ControlPaint类来进行绘制。

3. 对CheckBox的一些状态效果简单介绍。

在Render中支持绘制不同类型的CheckBox,那么现在要做的就是知道当前CheckBox属于什么状态,这个要通过MouseMove、MouseLeave、MouseDown等方法中判断鼠标位置是否在当前的checkbox上,然后设置一个当前checkbox的check状态。另外,只要在这些方法中设置一个全局CheckBoxState就行了,具体的绘制都交由Paint方法就行了。这里说明,一般这种自绘的东东中,是需要override一些Paint或者OnPaint方法的,然后在这个方法里面进行绘制。扩展datagridview


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/tongxinshuyu/article-50059-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      • 白衫举子
        白衫举子

        记忆深刻

      • 吴王
        吴王

        如果物价降低的话存款就不会缩水了

      热点图片
      拼命载入中...