七、Win7 Aero 毛玻璃效果
在 Win7 上有一种 Aero 效果,毛玻璃透明效果,搭配不同风格的颜色,效果很好。在学习 Winform 美化的时候顺便看到的这种效果,也整理进来了。
注意:Win7 上想看到这种效果需要开启并使用 Aero 效果的主题。
效果
代码
例子下载
如果没有积分,也可以关注我获取哟~
public partial class Form1 : Form
{[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(); //Dll 导入 DwmApipublic Form1(){InitializeComponent();}private void Form1_Load(object sender, EventArgs e){//如果启用Aeroif (DwmIsCompositionEnabled()){MARGINS m = new MARGINS();m.Right = -1; //设为负数,则全窗体透明DwmExtendFrameIntoClientArea(this.Handle, ref m); //开启全窗体透明效果} }protected override void OnPaintBackground(PaintEventArgs e){base.OnPaintBackground(e);if (DwmIsCompositionEnabled()){e.Graphics.Clear(Color.Black); //将窗体用黑色填充(Dwm 会把黑色视为透明区域)}}
}