如何通过减少主控制容器来获得更多win7 aero玻璃区域?(C#)

如何通过减少主控制容器来获得更多win7 aero玻璃区域?(C#),c#,winforms,aero-glass,C#,Winforms,Aero Glass,默认情况下,窗体具有一个应用aero glass效果的有限大小标题区域。我想增加这个区域,不仅是在标题,而且在我的身体底部和侧面。 使用DwmExtendFrameIntoClientArea: [StructLayout(LayoutKind.Sequential)] struct MARGINS { int Left; int Right; int Top; int Bottom; } [DllImport("user32.dll")] public sta

默认情况下,窗体具有一个应用aero glass效果的有限大小标题区域。我想增加这个区域,不仅是在标题,而且在我的身体底部和侧面。

使用
DwmExtendFrameIntoClientArea

[StructLayout(LayoutKind.Sequential)]
struct MARGINS {
    int Left;
    int Right;
    int Top;
    int Bottom;
}

[DllImport("user32.dll")]
public static extern IntPtr DwmExtendFrameIntoClientArea(IntPtr hWnd, ref MARGINS pMarInset);
使用表单的
句柄和
边距结构调用
dwmextendframeintoclienterea
。只需将
左侧
右侧
顶部
底部
设置为您希望各个边框扩展的数量

哦,然后将表单的
背景色设置为
黑色
。(谢谢,@HansPassant!)


如果
extern
语法错误,很抱歉。我从来没有在C#中这样做过…

看起来像我正在寻找的,但我似乎无法让它工作:x你能添加一个工作示例吗?这还不够,你还必须将它画成黑色:@HansPassant既然你链接到了那个网站,你能解释一下
g中的
g
是什么吗(blackBrush,0,0,this.ClientSize.Width,marg.Top);
我如何正确使用它?我看到的是白色背景,而不是黑色背景,可以吗?这是对@minitech的一个提示,可以帮助他改进答案:)@HansPassant:谢谢,我忘了那部分:)事实上,除了默认颜色之外,任何颜色都可以。