代码之家  ›  专栏  ›  技术社区  ›  Brad Bruce

.NET 2.0-ControlPaint.DrawButton使用错误的颜色

  •  3
  • Brad Bruce  · 技术社区  · 15 年前

    当我调用controlPaint.drawButton时,绘制的按钮是非主题背景色。如何在.NET 2.0(c)中绘制一个看起来像按钮(包括主题绘图)的控件?

    2 回复  |  直到 15 年前
        1
  •  6
  •   BFree    15 年前

    ControlPaint方法不支持视觉样式,这就是它看起来一团糟的原因(尝试在program.cs应用程序中去掉这一行代码。enableVisualStyles();所有内容都将像那个按钮,您将看到我的意思。)

    您应该使用的正确方法是 ButtonRender.DrawButton(..) 方法。这确实符合视觉样式,因此将正确呈现。快速取样:

                ButtonRenderer.DrawButton(this.CreateGraphics(), 
                new Rectangle(20, 20, 100, 40),"Click me!",
                new Font(this.Font, FontStyle.Regular),false,
                System.Windows.Forms.VisualStyles.PushButtonState.Normal);
    
        2
  •  0
  •   John Weldon    15 年前

    这个 first second overload ButtonState 作为最后一个参数。

    我想你想要: ButtonState.Normal 你得到的是 ButtonState.Flat ?