博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[开发笔记]-实现winform半透明毛玻璃效果
阅读量:6948 次
发布时间:2019-06-27

本文共 1727 字,大约阅读时间需要 5 分钟。

亲测win7下可用,win8下由于系统不支持Aero效果,所以效果不是半透明的。

代码:

博客园插入不了代码了。。。。。

public partial class Form1 : Form    {        int en;        public struct MARGINS        {            public int m_Left;            public int m_Right;            public int m_Top;            public int m_Buttom;        };        [DllImport("dwmapi.dll")]        private static extern void DwmIsCompositionEnabled(ref int enabledptr);        [DllImport("dwmapi.dll")]        private static extern void DwmExtendFrameIntoClientArea(IntPtr hWnd, ref MARGINS margin);        public Form1()        {            InitializeComponent();            en = 0;            MARGINS mg = new MARGINS(); //定义透明扩展区域的大小,这里全部-1,即全部透明            mg.m_Buttom = -1;            mg.m_Left = -1;            mg.m_Right = -1;            mg.m_Top = -1;            //判断是否Vista及以上的系统            if (System.Environment.OSVersion.Version.Major >= 6)            {                DwmIsCompositionEnabled(ref en);    //检测Aero是否为打开                if (en > 0)                {                    DwmExtendFrameIntoClientArea(this.Handle, ref mg);   //透明                }                            }                       this.Paint += new PaintEventHandler(Form1_Paint);        }        private void Form1_Paint(object sender, PaintEventArgs e)        {            if (en > 0)            {                Graphics g = e.Graphics;                SolidBrush bsh = new SolidBrush(Color.Black);                g.FillRectangle(bsh, this.ClientRectangle);                bsh.Dispose();            }        }        private void Form1_Load(object sender, EventArgs e)        {        }    }

 

win7下的效果为半透明毛玻璃效果,win8下的效果:

 

转载请注明出处。

本文转自 酷小孩 博客园博客,原文链接:http://www.cnblogs.com/babycool/p/3724842.html  ,如需转载请自行联系原作者

你可能感兴趣的文章
jsp fmt标签详解
查看>>
Springmvc案例1----基于spring2.5的采用xml配置
查看>>
创建自定义数据源
查看>>
嵌入式linux------SDL移植(am335x下显示yuv420)
查看>>
【原创】erlang 模块之 epmd
查看>>
备用java方法
查看>>
有状态的 web 应用
查看>>
System V 消息队列
查看>>
管道和FIFO
查看>>
Use Excel Pivot Table as a BI tool
查看>>
QDialog之屏蔽Esc键
查看>>
Cocos2d-x-v3场景切换
查看>>
[置顶]白话贝叶斯理论及在足球比赛结果预测中的应用和C#实现
查看>>
HotSpotVM 对象机制实现浅析#1
查看>>
[android]android自动化测试
查看>>
为代码签名,供后人瞻仰或唾弃,你敢吗?
查看>>
Java笔记:集合框架实现原理
查看>>
用Objective-C写了一个简单的批量更改文件名的程序
查看>>
建立JDBC的环境配置和相关下载(Mac)
查看>>
Android 使用ViewPager结合PhotoView开源组件实现网络图片在线浏览功能
查看>>