首页 > 编程 > C# > 正文

C# 无边框窗体边框阴影效果的简单实现

2020-01-24 03:07:58
字体:
来源:转载
供稿:网友

通过下面代码在构造函数中调用方法 SetShadow();

即可实现无边框窗体的阴影效果了

需要添加命名空间 using System.Runtime.InteropServices;

复制代码 代码如下:

private const int CS_DropSHADOW = 0x20000;
        private const int GCL_STYLE = (-26);       

        [DllImport("user32.dll", CharSet = CharSet.Auto)]
        public static extern int SetClassLong(IntPtr hwnd, int nIndex, int dwNewLong);
        [DllImport("user32.dll", CharSet = CharSet.Auto)]
        public static extern int GetClassLong(IntPtr hwnd, int nIndex);   

        private void SetShadow()
        {
            SetClassLong(this.Handle, GCL_STYLE, GetClassLong(this.Handle, GCL_STYLE) | CS_DropSHADOW);
        }

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表