[开发笔记]-实现winform半透明毛玻璃效果

简介:

亲测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  ,如需转载请自行联系原作者

相关文章
|
8月前
|
C# Windows
WPF技术之图形系列Line控件
WPF Line是Windows Presentation Foundation (WPF)中的一个图形控件,用于在界面上绘制线条。它可以用来表示直线、分割线、边框等,提供了一种简单但有力的方式来显示和布局线条。
884 0
WPF 图片显示不清晰问题的解决
WPF 图片显示不清晰问题的解决
|
C#
抛砖引玉 【镜像控件】 WPF实现毛玻璃控件不要太简单
原文:抛砖引玉 【镜像控件】 WPF实现毛玻璃控件不要太简单 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Vblegend_2013/article/details/83447420 ...
1691 0
|
vr&ar 图形学
【Unity3D 灵巧小知识点】☀️ | Unity UGUI组件Scroll View禁止 左右 或 上下 滑动
Unity 小科普 老规矩,先介绍一下 Unity 的科普小知识: Unity是 实时3D互动内容创作和运营平台 。 包括游戏开发、美术、建筑、汽车设计、影视在内的所有创作者,借助 Unity 将创意变成现实。 Unity 平台提供一整套完善的软件解决方案,可用于创作、运营和变现任何实时互动的2D和3D内容,支持平台包括手机、平板电脑、PC、游戏主机、增强现实和虚拟现实设备。 也可以简单把 Unity 理解为一个游戏引擎,可以用来专业制作游戏!
【Unity3D 灵巧小知识点】☀️ | Unity UGUI组件Scroll View禁止 左右 或 上下 滑动
|
人工智能 搜索推荐 C#
Photoshop和WPF双剑配合,打造炫酷个性的进度条控件
结合Photoshop和WPF,共同创建一个矢量的个性化进度条。
500 0
Photoshop和WPF双剑配合,打造炫酷个性的进度条控件
|
Shell C#
WPFの实现word的缩放效果
原文:WPFの实现word的缩放效果 ms-word做出的效果令人十分欣喜,那么如何用wpf达到这个效果,下面我们来进行讨论。 界面上我用一个WrapPanel作为父级控件,动态添加InkCanvas作为子控件   ...
1012 0
|
C#
GDI+与WPF中的颜色简析
原文:GDI+与WPF中的颜色简析 --------------------------------------------------------------------------------引用或转载时请保留以下信息:大可山 [MSN:a3news(AT)hotmail.
1210 0
|
C# Windows
Silverlight & Blend动画设计系列十一:沿路径动画(Animation Along a Path)
原文:Silverlight & Blend动画设计系列十一:沿路径动画(Animation Along a Path)   Silverlight 提供一个好的动画基础,但缺少一种方便的方法沿任意几何路径对象进行动画处理。
916 0
|
C#
代码创建 WPF 旋转动画
原文:代码创建 WPF 旋转动画 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/a771948524/article/details/9304001 ...
783 0
|
C#
WPF一步步实现完全无边框自定义Window(附源码)
原文:WPF一步步实现完全无边框自定义Window(附源码)    在我们设计一个软件的时候,有很多时候我们需要按照美工的设计来重新设计整个版面,这当然包括主窗体,因为WPF为我们提供了强大的模板的特性,这就为我们自定义各种空间提供了可能性,这篇博客主要用来介绍如何自定义自己的Window,在介绍整个写作思路之前,我们来看看最终的效果。
1226 0