[GduUI类库]C# WinForm控件分享

ping3108 2014-09-02 06:45:15
加精
前段时间我发了个帖子,分享了我自己写的一个C# UI类库,演示了窗体类GMForm实现的效果,大家可以再看看这个帖子
现在类库增加了几个控件,同样分享给大家。这几个控件分别是:GMVScrollBar,GMHScrollBar,GMTrackBar,GMProgressBar,GMRollingBar。这些控件与GMForm窗体一样,都可以通过相应的XTheme来配置出不同的形状和外观,而且支持运行时动态切换。下面看看这些控件的效果图。


主界面


GMScrollBar效果,上面这些不同形状,不同外观的滚动条都是通过XTheme来配置的。


GMTrackBar效果


GMProgressBar效果


GMRollingBar效果

这些控件都是继承自System.Windows.Forms.Control类的,不是继承系统的ScrollBar,TrackBar等类。控件上面的按钮,滚动块等元素都是通过GDI+自绘的,所以原理并不复杂,主要是看你对控件自身功能的了解程度,以及对GDI+的熟悉和熟练程度。

这里说明一下GMScrollBar与系统ScrollBar几点差别:
(1) 对系统ScrollBar,如果LargeChange属性值大于1,那么ScrollBar的最大值是无法通过拖动滚动块来达到的。不知道微软为什么这样做,但我觉得这对使用者来说是很麻烦的,所以GMScrollBar没有这一限制,滚动块拖到最上面就能得到最小值,拖到最下面就得到最大值。
(2) 对系统ScrollBar,滚动块占滚动条长度百分比是由LargeChange属性值来影响的,GMScrollBar是单独通过MiddleButtonLengthPercentage来设置的。
(3) 系统ScrollBar同时提供了ValueChanged和Scroll两个事件,但由于这两个事件是一样的,所以GMScrollBar只提供了ValueChanged事件。

现在类库的代码量已经超过了一万行,这些代码中,只有一个地方的代码不是我写的,那就是WinAPI类里面Windows Message常量定义,API32函数声明,以及相应函数参数常量声明,这些代码是我从MSDN网站,或者其它开源项目中复制过来的,因为这部分代码确实没有必要自己写,而且我也写不了。这部分的代码不到500行。除此之外,类库其它地方的所有代码都是我自己写的。也就是类库超过95%的代码都是原创的,是我一行一行写出来的。

类库中窗体及各控件都内置了若干主题,这些主题大部分是模仿现有软件的,只有少数几个是我自己试出来,觉得可以就保留的。使用时,只要实例化这些主题类,并赋给控件的XTheme属性,就能使控件拥有完全不同的外观。

类库不提供开发文档,目前也没有开发文档,只有一个文本格式的介绍各控件公开的属性、事件、方法的文件。如果谁对类库感兴趣,需要开发文档的,可以通过邮件联系我,如果需要的人多,我会完善一份开发文档,对类库进行详细的介绍,并给代码添加尽量多的注释。我现在已经把我辛辛苦苦写的代码毫无保留的奉献出来了,所以开发文档是绝对不再免费提供的。
...全文
22024 91 打赏 收藏 转发到动态 举报
写回复
用AI写文章
91 条回复
切换为时间正序
请发表友善的回复…
发表回复
jhone99 2017-02-09
  • 打赏
  • 举报
回复
好东西,感谢楼主分享
Yan2017 2017-02-09
  • 打赏
  • 举报
回复
大爱楼主,谢谢了
weixin_37295413 2017-01-16
  • 打赏
  • 举报
回复
感谢分享!!
denisabc 2016-12-20
  • 打赏
  • 举报
回复
支持分享,感谢!!!
hfzcp 2016-12-15
  • 打赏
  • 举报
回复
非常感谢分享。
yang3898 2016-12-03
  • 打赏
  • 举报
回复
感谢分享,谢谢ping3108
baidu_36631145 2016-11-13
  • 打赏
  • 举报
回复
感谢楼主分享
飞翔的哈皮 2016-09-17
  • 打赏
  • 举报
回复
感谢楼主的分享, 对制作控件有很大的帮助.
q877455654 2016-06-13
  • 打赏
  • 举报
回复
感谢分享
她是呆瓜 2016-04-27
  • 打赏
  • 举报
回复
这么好的东西楼主无私分享出来我真的不知道如何感谢了。
小刘67 2016-04-24
  • 打赏
  • 举报
回复
非常感谢,分享非常不错!
zczg713 2016-04-09
  • 打赏
  • 举报
回复
楼主真是个好人。
lang3huan 2016-01-08
  • 打赏
  • 举报
回复
直接拉到最后先评论之后再看。可惜GDI+不会
DL爱好者 2016-01-06
  • 打赏
  • 举报
回复
下载下来学习一下!!!
木头熊 2015-12-14
  • 打赏
  • 举报
回复
感谢分享
海会圣贤 2015-11-01
  • 打赏
  • 举报
回复
不错不错,感谢分享,学习了。
qq515048602 2015-10-31
  • 打赏
  • 举报
回复
非常感谢你的分享
sunpm 2015-10-30
  • 打赏
  • 举报
回复
一下载,谢谢分享
tujun 2015-10-29
  • 打赏
  • 举报
回复
不得不说,做得非常好,让人有点望尘莫及的哀伤
  • 打赏
  • 举报
回复
这个必须感谢下楼主的分享,winform小白的学习库啊。
加载更多回复(60)

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧