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

ping3108 ping3108 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
1. 首先说明:

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

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

多标签浏览器:







普通窗体:











3. 实现的主要技术

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

4. 下载地址

从这里下载

下载的代码中附带类库使用文档。
...全文

相关推荐

评论 48
收藏 已收藏
分享
返回顶部
ping3108
C# 111,128 成员 642,537 内容