我正在创建一个按钮并将 FlatStyle 设置为 System.
因为此模式通常不支持图像,所以要与文本一起显示图像,Button 自己的 Text 设置为“”,我正在通过捕获 WndProc 中的 Graphics.FromHwnd 和 TextRenderer 在顶部绘制自己的图像和文本,通过捕获 WM_PAINT并在调用 base.WndProc 后自己绘图。
这很好用,除了一个问题:在 Windows 7 上,突出显示的按钮在灰色和蓝色之间缓慢地跳动。我发现这种脉冲会导致按钮偶尔闪烁。
- 我已经使用了 WS_EX_COMPOSITED。
- 我试过 DoubleBuffered = true。它没有帮助。
- 我用 WM_PRINTCLIENT 尝试了 BufferedGraphics,但这并没有以 Aero 风格绘制,所以根本没有脉动。
有任何想法吗?