在这篇文章中花很长时间http://msdn.microsoft.com/en-us/magazine/cc163435.aspx#S6
它有点长,但它回答了你的很多问题,而且更多关于玻璃的问题。
但与您直接相关的部分是
一个特别的问题是,用黑色渲染 GDI 项目使用位模式 0x00000000 - 如果您使用 Alpha 通道,它也恰好是完全透明的黑色。这意味着如果您使用黑色 GDI 画笔或钢笔绘制,您将获得透明颜色,而不是黑色。这带来的最大问题是当您尝试在位于玻璃区域上的文本标签的控件中使用默认文本颜色时。由于默认文本颜色通常为黑色,因此 DWM 会认为这是透明的,文本会错误地写入玻璃中。图 10 中可以看到一个示例。第一行是用 GDI+ 编写的,第二行是使用默认颜色的文本标签控件。如您所见,它几乎难以辨认,因为它
令人高兴的是,有很多方法可以解决这个问题。使用自绘控件就是其中之一。渲染到具有 Alpha 通道的位图是另一种方法。幸运的是,在控件上获取文本的最简单方法是让 .NET Framework 2.0 为您使用 GDI+。这很容易通过在控件上设置 UseCompatibleTextRendering 属性来实现。默认情况下,此属性设置为 false,以便为以前版本的 .NET Framework 编写的控件呈现相同的内容。但是,如果您将其设置为 true,您的文本将看起来正确。您可以使用 Application.SetUseCompatibleTextRenderingDefault 方法全局设置属性。
他还提供了可以放在 Main() 中的示例代码
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(true);
Application.Run(new GlassForm());
}
但我建议阅读这篇文章,它会弄清楚 Aero/Glass 发生的很多事情
干杯,菲克斯