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

问题描述

1.首先说明:(1)提供全部类库及示例代码,但代码仅限于学习和技术交流之用。(2)目前类库只有窗体,没有其它控件,但窗体支持MDI。(3)类库还有些问题未能解决,具体请看代码附带的文档。2.类库实现的界面效果:多标签浏览器:普通窗体:3.实现的主要技术(1)拦截WM_NCCALCSIZE消息,使客户区铺满整个窗口,这样我们控制客户区就控制了整个窗口。(2)拦截WM_NCHITTEST消息,自己处理并返回相应结果解决窗体移动,鼠标改变大小的问题。(3)重写OnPaint()方法,利用该方法提供的Graphics对象绘制整个窗口。由于客户区已经铺满了整个窗口,所以利用这个Graphics就可以在窗口的任意位置画任意元素了,包括模拟的标题栏,窗体边框,控制按钮等。(4)MDI的实现:完全利用GDI+绘制整个Mdi-Bar,内部记录各个标签页的位置及大小,处理其鼠标单击等操作。4.下载地址下载的代码中附带类库使用文档。

解决方案

解决方案二:
不错..不过没什么用一直web中....
解决方案三:
感谢楼主分享..
解决方案四:
该回复于2015-06-30 23:56:24被版主删除
解决方案五:
该回复于2015-02-28 22:09:15被版主删除
解决方案六:
0A0!不错,超棒,加我,我也喜欢C#GDI+,美化UI的。--。。。话说。。你是不是加过我QQ的。。。QQ:345015918
解决方案七:

解决方案八:
学习,谢谢楼主分享
解决方案九:
看了一下,和我实现的很多类似的地方啊。
解决方案十:
学习一下,虽然看不懂。
解决方案十一:
不是wpf么
解决方案十二:
引用8楼zanfeng的回复:

看了一下,和我实现的很多类似的地方啊。

我在用户手册里说的那三个问题你遇到了吗?如果也遇到了你是怎么解决的?
解决方案十三:

解决方案十四:
duilib
解决方案十五:
引用11楼ping3108的回复:

Quote: 引用8楼zanfeng的回复:
看了一下,和我实现的很多类似的地方啊。

我在用户手册里说的那三个问题你遇到了吗?如果也遇到了你是怎么解决的?

代码没看,不知道有文档。刚看了一下,你说的那个文档是由标题栏引起来的。网上有解决办法了。dev里面的做的很不错。不过里面的代码很啰嗦。可能是因为架构的问题。看他一个实现的方式要跟踪个好几层。
解决方案:
该回复于2015-06-30 23:56:57被版主删除
解决方案:
只要是自己研究的、原创的,都要支持!
解决方案:
学习了,,,,
解决方案:
适合入门者学习
解决方案:
该回复于2015-06-30 23:56:39被版主删除
解决方案:
引用8楼zanfeng的回复:

看了一下,和我实现的很多类似的地方啊。

难道你想说他XX你的
解决方案:
楼主分享精神可嘉
解决方案:
该回复于2015-06-30 23:57:20被版主删除
解决方案:
感谢楼主分享,学习学习!
解决方案:
nice
解决方案:

解决方案:
不错!界面挺炫的!
解决方案:
该回复于2015-10-31 23:45:12被版主删除
解决方案:
做的挺好的。学习。。。
解决方案:

解决方案:
楼主问下C#和c和c++的优势是什么我现在只是编个上位机界面用的C#理解的不是很透彻别人问我为什么用这个语言编我说不知道嘿嘿所以请大神指点一二
解决方案:
该回复于2015-06-30 23:57:08被版主删除
解决方案:
uppfgd
解决方案:
值得学习,谢谢分享!
解决方案:
学习学习,谢谢露珠分享,赞!
解决方案:
学习学习.感谢分享.
解决方案:
高山仰止,膜拜楼主、
解决方案:
引用16楼chenlycly的回复:

只要是自己研究的、原创的,都要支持!

+1
解决方案:
拿来瞅瞅
解决方案:

解决方案:
感谢楼主分享收藏栏了~~谢谢
解决方案:
感谢楼主分享收藏栏了~~谢谢~~~~~~~~~~~~~~~~~~~~~~~~~~~
解决方案:
很棒哇。。。
解决方案:
能实现windows自带的mspaint画图多标签界面么?
解决方案:
我要到跑赢职场好好学习,天天向上了啊!
解决方案:
收藏了
解决方案:
刚开始接触C#做界面的苦逼感谢楼主。

时间: 2024-10-21 11:57:37

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

分享一个异步任务在遇到IO异常时支持递归回调的辅助方法

public void TryAsyncActionRecursively<TAsyncResult>( string asyncActionName, Func<Task<TAsyncResult>> asyncAction, Action<int> mainAction, Action<TAsyncResult> successAction, Func<string> getContextInfoFunc, Action<E

photoshop制作一个简单又时尚的UI按扭

在这个教程里,将和童学们分享如何使用photoshop制作一个简单又时尚的UI按扭,这个按扭可以用在电子商务网站,或者是网店上. 1.新建一个文档(ctrl+N)大小为:600*600(虽然我们按扭的大小:170*50,但是尺寸大方便我们的修改) 2.选择"圆角矩形工具"并设圆角"5px"绘制一个大小为:170*50 的圆角矩形.(可以使用标尺定位) 3.新建一个图层,按组合键"ctrl+enter"把路径转化为选区,并填充黑色. 双击这个图层给

分享一个可以获取远程网站CSS配色的工具网站

分享一个通过读取远程网站的CSS文件,自动生成该网站配色方案的在线工具网站,推荐大家收藏... 在下面输入对方网站的网址后,轻松取得该网站CSS中应用到的配色色值. http://redalt.com/Tools/I+Like+Your+Colors 试一下吧!

V5Shop分享一个独立网店快速提升PR和销售额的方法

V5Shop分享一个独立网店快速提升PR和销售额的方法 很多独立网店的店主都在为宣传推广头疼.在现在这个产品丰富的市场经济环境下,各行各业的竞争都异常激烈,"酒香也怕巷子深"已经成为网商们的共识.作为独立网店,独立运营固然可以避免许多"拼低价"的竞争,客户对网店和品牌的忠诚度也有保证,但是在推广这个问题上,却难住了不少网商. 许多网商之所以过于依赖淘宝等大型平台,就是因为这些平台能够为其带来源源不断的客户,其不用为如何招揽客户,如何推广网店而劳心.有得必有失,这同样

力洋SEO分享一个百试百灵的新站收录方法

网站收录页面的多少决定了网站的长尾关键词排名分布,在此同时也影响着网站的访问量,进而影响网站的订单交易,业务合作,提高网站收录页面就成为每个站长必定的工作.有些站长为了提高网站收录页面,开始采集更新,或者直接复制更新,但最近的百度调整算法令这些站长吃亏了,百度不但没有收录这些页面,还减少了以前收录的重复页面,成千上万的收录是每个站长都向往的.对于新站收录,很多站长不知所措,网站建设完成了一个多月了,百度依然不肯收录网站内容页面,只是单纯的收录了首页,今天力洋SEO分享一个新站百试百灵的收录方法:

分享一个jQuery的自动客户端本地保存插件Sisyphus.js

  今天我们介绍一个新的插件 - Sisyphus.js,这个插件是由Alexander Kaupanin开发的一个类似Gmail客户端草稿保存的jQuery插件,帮助你的用户在客户端保存未写完的草稿. 我们需要解决什么样的问题呢? 但凡使用过互联网的用户,都会有如下的惨痛教训: 洋洋洒洒的写了一篇几百的文章,正准备保存发布的时候,发现浏览器崩溃了,或者是你刚准备评论一篇不错的文章,可正准备递交的时候,你PC死机了.又或是你正准备发布时,不小心按错了快捷键F5或者后退键? 是不是你也曾为以上情况

分享一个超好用的php header下载函数

 这篇文章主要为大家分享一个超好用的php header下载函数,需要的朋友可以参考下 代码如下: <?php /**  * 发送文件  *  * @author: legend(legendsky@hotmail.com)  * @link: http://www.ugia.cn/?p=109  * @description: send file to client  * @version: 1.0  *  * @param string   $fileName      文件名称或路径  *

分享一个自己写的简单的javascript分页组件

 这篇文章主要分享一个自己写的简单的javascript分页组件,效果十分不错,代码也很详尽,这里推荐给小伙伴们.     自己写的一个简单的分页组件,主要功能还有实现都在JS中,html页面中只用增加一个放置生成分页的DIV,并给定容器的id. html结构如下:   代码如下: <ul class="pagination" id="pageDIV"> </ul> class="pagination" 给定了分页的样式,

android-使用 ACTION_SEND 打开 Share Dialog 来分享一个文件

问题描述 使用 ACTION_SEND 打开 Share Dialog 来分享一个文件 我知道使用 ACTION_SEND 能分享一个 text. Intent sendIntent = new Intent(); sendIntent.setAction(Intent.ACTION_SEND); sendIntent.putExtra(Intent.EXTRA_TEXT, "Download Link https://play.google.com/store/apps/details?id=