首页 > Windows开发 > 详细

winform(C#)透明方法

时间:2014-02-18 08:55:02      阅读:485      评论:0      收藏:0      [点我收藏+]

1.设置窗体opacity属性:

优点:方便,透明度可随意调节。

缺点:窗体中的控件会跟着窗体的透明度变化。

2.窗体的BackColor和TransparencyKey属性设置相同的值:

优点:方便,完全透明。

缺点:只能完全透明不能半透明。

2.加using System.Runtime.InteropServices;引用然后加上以下代码:

bubuko.com,布布扣
        [StructLayout(LayoutKind.Sequential)]
        public struct MARGINS
        {
            public int Left;
            public int Right;
            public int Top;
            public int Bottom;
        }
        [DllImport("dwmapi.dll", PreserveSig = false)]
        static extern void DwmExtendFrameIntoClientArea(IntPtr hwnd, ref MARGINS margins);
        [DllImport("dwmapi.dll", PreserveSig = false)]
        static extern bool DwmIsCompositionEnabled();
        protected override void OnLoad(EventArgs e)
        {
            if (DwmIsCompositionEnabled())
            {
                MARGINS m = new MARGINS();
                m.Right = m.Left = m.Top = this.Width + this.Height;
                DwmExtendFrameIntoClientArea(this.Handle, ref m);
            }
            base.OnLoad(e);
        }
        protected override void OnPaintBackground(PaintEventArgs e)
        {
            base.OnPaintBackground(e);
            if (DwmIsCompositionEnabled())
            {
                e.Graphics.Clear(Color.Black);
            }
        }
View Code

 

优点:可以半透明,控件不透明。

缺点:有些系统部支持。

 

待续。。

winform(C#)透明方法

原文:http://www.cnblogs.com/china-jin/p/3553043.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!