2

我在表单上有一个按钮,目前使用视觉样式绘制,在 Win7 机器上使用圆形阴影渐变和蓝色悬停高亮绘制。

从高到高的词是这个按钮,它控制一个特定的功能是打开还是关闭,当该功能打开时应该看起来绿色并突出显示更绿色,当功能关闭时看起来红色并突出显示更红色,而不会丢失整体默认值按钮的视觉风格。如果我们简单地设置 BackColor,我们会得到一个无阴影、无色的按钮,在 Win7 默认天蓝色的边框周围突出显示。

不幸的是,这是 WinForms 而不是 WPF,所以我没有高级样式控制,而且我们还没有使用 WPF。有什么我可以开箱即用的方法来更改 Windows 视觉样式为这个按钮使用的颜色吗?

编辑:为了节省时间,我创建了一个带有按钮的 WPF 用户控件,托管在 WinForm 中,允许所需的高级样式和情节提要控件。有用。我仍然对如何在 GDI 中完成这一点感到好奇,特别是因为我也没有通过 WPF 获得我想要的一切,但我有一个可行的解决方案。

4

1 回答 1

2

如果您将 UseVisualStyleBackColor 保留为 false 并使用部分 alpha 手动指定 BackColor,例如“64、255、0、0”,则颜色将与视觉样式背景混合,并且标准主题渐变将显示为该颜色。我不确定这是否适用于 Windows < 7。

于 2012-08-07T18:31:19.870 回答