分享一个我自己的C# UI类库,目前支持普通窗体及MDI窗体主题自定义

ping3108 2014-07-12 07:31:27
加精
1. 首先说明:

(1)提供全部类库及示例代码,但代码仅限于学习和技术交流之用。
(2)目前类库只有窗体,没有其它控件,但窗体支持MDI。
(3)类库还有些问题未能解决,具体请看代码附带的文档。

2. 类库实现的界面效果:

多标签浏览器:







普通窗体:











3. 实现的主要技术

(1) 拦截WM_NCCALCSIZE消息,使客户区铺满整个窗口,这样我们控制客户区就控制了整个窗口。
(2) 拦截WM_NCHITTEST消息,自己处理并返回相应结果解决窗体移动,鼠标改变大小的问题。
(3) 重写OnPaint()方法,利用该方法提供的Graphics对象绘制整个窗口。由于客户区已经铺满了整个窗口,所以利用这个Graphics就可以在窗口的任意位置画任意元素了,包括模拟的标题栏,窗体边框,控制按钮等。
(4) MDI的实现:完全利用GDI+绘制整个Mdi-Bar,内部记录各个标签页的位置及大小,处理其鼠标单击等操作。

4. 下载地址

从这里下载

下载的代码中附带类库使用文档。
...全文
14886 48 打赏 收藏 转发到动态 举报
写回复
用AI写文章
48 条回复
切换为时间正序
请发表友善的回复…
发表回复
jhone99 2017-02-09
  • 打赏
  • 举报
回复
感谢楼主,支持楼主!
tagMatrix4 2016-10-12
  • 打赏
  • 举报
回复
感谢,非常感谢。
她是呆瓜 2016-04-27
  • 打赏
  • 举报
回复
刚开始接触C#做界面的苦逼感谢楼主。
木头熊 2015-12-15
  • 打赏
  • 举报
回复
收藏了
wenshungp 2015-12-11
  • 打赏
  • 举报
回复
我要到跑赢职场好好学习,天天向上了啊!
tianya424 2015-08-15
  • 打赏
  • 举报
回复
能实现windows自带的 mspaint 画图 多标签 界面 么?
堪博韬略 2015-06-30
  • 打赏
  • 举报
回复
很棒哇。。。
moremote105 2015-05-20
  • 打赏
  • 举报
回复
感谢楼主分享 收藏栏了~~谢谢~~~~~~~~~~~~~~~~~~~~~~~~~~~
姓小名白丶 2015-05-20
  • 打赏
  • 举报
回复
感谢楼主分享 收藏栏了~~谢谢
yanran_hill 2015-03-11
  • 打赏
  • 举报
回复
引用 16 楼 chenlycly 的回复:
只要是自己研究的、原创的,都要支持!
+1
锅哥 2015-03-11
  • 打赏
  • 举报
回复
拿来瞅瞅
吹风的兔子 2015-03-11
  • 打赏
  • 举报
回复
高山仰止,膜拜楼主、
chenruoyun 2014-09-08
  • 打赏
  • 举报
回复
学习学习.感谢分享.
黑视 2014-09-08
  • 打赏
  • 举报
回复
学习学习,谢谢露珠分享,赞!
  • 打赏
  • 举报
回复
uppfgd
austin9972 2014-07-16
  • 打赏
  • 举报
回复
兴风作浪的梦 2014-07-16
  • 打赏
  • 举报
回复
楼主 问下C# 和 c 和 c++ 的优势是 什么 我现在只是编个 上位机界面 用的 C# 理解的不是很透彻 别人问我为什么 用这个 语言编 我说 不知道 嘿嘿 所以请大神 指点 一二
csz_1987 2014-07-15
  • 打赏
  • 举报
回复
做的挺好的。学习。。。
dvlinker 2014-07-14
  • 打赏
  • 举报
回复
只要是自己研究的、原创的,都要支持!
猫熊 2014-07-14
  • 打赏
  • 举报
回复
nice
加载更多回复(18)

110,533

社区成员

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

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

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