收藏 分销(赏)

【C#界面】完美实现无毛边异形窗体.doc

上传人:xrp****65 文档编号:6641779 上传时间:2024-12-19 格式:DOC 页数:4 大小:182.50KB 下载积分:10 金币
下载 相关 举报
【C#界面】完美实现无毛边异形窗体.doc_第1页
第1页 / 共4页
【C#界面】完美实现无毛边异形窗体.doc_第2页
第2页 / 共4页


点击查看更多>>
资源描述
【C#界面】完美实现无毛边异形窗体 实现效果图1: 实现效果图2: 实现效果图3: 异形窗体的实现思路 (一)、采用UpdateLayeredWindow这个api函数基于Png图alpha通道绘制异形窗口            优点:真正意义上的异形窗口            缺点:用了WS_EX_LAYERED后当前窗体不处理paint事件,所以窗体上无法绘制控件,但这个控件确存在,而且可以响应事件            解决无法绘制控件方法:                    1、思路:                     采用双层窗口:底层背景窗口层与顶层控件层,用控件层Show()背景层,同时处理窗体的窗口移动事件,让另外一个窗体同步移动或者做其它事情。                        2、实现:                        底层背景层:采用UpdateLayeredWindow这个api函数基于带Alpha通道的Png图绘制                顶层控件层:                   方法一:采用无边框窗口,把窗口背景颜色BackColor设置一个不常用颜色例如:ff00ff颜色,且把窗口TransparencyKey颜色属性设跟背景色BackColor一样(意义:去除带背景色的区域从而显示后面背景层)                   方法二:采用无边框窗口,把窗口背景设为背景层对应位置的位图,给人一种透明的效果,但是编辑会有所限制。(SkinWhetherTank属性可以切换这两种透明模式)               优点:可以解决显示控件的问题,不影响控件的使用               缺点:方法一会让部分控件有毛边,方法二会让窗体编辑受限制。(缺点有待解决,望高手指点)               属性:               GradientTime:控件层渐变特效时长(越小越快)。               MainPosition:窗口在绘图层位置。               SkinBack:设置或获取绘图层窗口背景。               SkinMobile:窗体是否可以移动。               SkinOpacity:设置或获取绘图层窗口透明度(0-255)。               SkinShowInTaskbar:绘图层是否出现在Windows任务栏中。               SkinSize:设置或获取绘图层窗口大小。               SkinTrankColor:绘图层需要透明的颜色。               SkinWhetherTank:绘图层是否开启位图仿透明  注意(SkinOpacity < 255时,此属性为False可达到背景透明,控件不透明的效果。)。
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服