码迷,mamicode.com
首页 > Windows程序 > 详细

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

时间:2014-05-17 04:49:32      阅读:551      评论:0      收藏:0      [点我收藏+]

标签:winform   style   blog   class   code   c   

 

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

代码:

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

bubuko.com,布布扣
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)
        {

        }
    }
bubuko.com,布布扣

 

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

bubuko.com,布布扣

 

转载请注明出处。

[开发笔记]-实现winform半透明毛玻璃效果,布布扣,bubuko.com

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

标签:winform   style   blog   class   code   c   

原文地址:http://www.cnblogs.com/babycool/p/3724842.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!