用 C# Winform做出全透明的磨砂玻璃窗体效果代码
用 C# Winform做出全透明的磨砂玻璃窗体效果代码
发布时间:2016-12-28 来源:查字典编辑
摘要:首先,调用系统API,这里如果要引用神马的,就不一一列出了,大家自己引用一下.复制代码代码如下:[StructLayout(LayoutKi...

首先, 调用系统 API, 这里如果要引用神马的, 就不一一列出了, 大家自己引用一下.

复制代码 代码如下:

[StructLayout(LayoutKind.Sequential)]

public struct MARGINS

{

public int Left;

public int Right;

public int Top;

public int Bottom;

}

[DllImport("dwmapi.dll", PreserveSig = false)]

public static extern void DwmExtendFrameIntoClientArea

(IntPtr hwnd, ref MARGINS margins);

[DllImport("dwmapi.dll", PreserveSig = false)]

public static extern bool DwmIsCompositionEnabled();

然后重写两个事件:

复制代码 代码如下:

protected override void OnLoad(EventArgs e)

{

if (DwmIsCompositionEnabled())

{

MARGINS margin = new MARGINS();

margin.Right = margin.Left = margin.Bottom = margin.Top = -1;

DwmExtendFrameIntoClientArea(this.Handle, ref margin);

}

base.OnLoad(e);

}

protected override void OnPaintBackground(PaintEventArgs e)

{

base.OnPaintBackground(e);

if (DwmIsCompositionEnabled())

{

e.Graphics.Clear(Color.Black);

}

}

最后.. 木有了, F5 运行吧~

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新C#教程学习
热门C#教程学习
编程开发子分类