欢迎来到代码驿站!

.NET代码

当前位置:首页 > 软件编程 > .NET代码

用 C# Winform做出全透明的磨砂玻璃窗体效果代码

时间:2021-07-16 10:41:45|栏目:.NET代码|点击:
首先, 调用系统 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 运行吧~

上一篇:asp.net实现在非MVC中使用Razor模板引擎的方法

栏    目:.NET代码

下一篇:WebService出现"因 URL 意外地以 结束,请求格式无法识别"的解决方法

本文标题:用 C# Winform做出全透明的磨砂玻璃窗体效果代码

本文地址:http://www.codeinn.net/misctech/157781.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有