当前位置 : 主页 > 编程语言 > c语言 >

winforms – .net – C#2.0应用程序中的玻璃效果

来源:互联网 收集:自由互联 发布时间:2021-06-25
如何在.net 2.0中的 Windows窗体应用程序中提供Vista或Mac OS X样式的玻璃效果? 这是使用与Vista DWM(桌面窗口管理器)API的互操作完成的. 例如,导入这些功能: [DllImport("dwmapi.dll")]static extern
如何在.net 2.0中的 Windows窗体应用程序中提供Vista或Mac OS X样式的玻璃效果? 这是使用与Vista DWM(桌面窗口管理器)API的互操作完成的.

例如,导入这些功能:

[DllImport("dwmapi.dll")]
static extern void DwmExtendFrameIntoClientArea(IntPtr hWnd, ref Margins pMargins);


[StructLayout(LayoutKind.Sequential)]
struct Margins
{
    public int cxLeftWidth;
    public int cxRightWidth;
    public int cyTopHeight;
    public int cyBottomHeight;
}

然后你可以使用它从窗口顶部“拉下”玻璃到客户区:

GlassMargins.Top = 40;
GlassMargins.Left = 0;
GlassMargins.Right = 0;
GlassMargins.Bottom = 0;

DwmExtendFrameIntoClientArea(this.Handle, ref GlassMargins);

从这里开始,您可以继续执行其他操作,例如在玻璃上绘制文本或图像,或者在其上放置控件,例如Office 2007样式的应用程序按钮.

网友评论