我在表单上有一个按钮,目前使用Visual Styles绘制,在Win7机器上使用圆形着色渐变和蓝色悬停突出显示。
来自高处的单词是,此按钮控制特定功能是打开还是关闭,应该看起来是绿色并在功能打开时突出显示更绿色,并且当功能关闭时显示为红色并突出显示红色,没有会丢失按钮的整体默认视觉样式。如果我们只是设置BackColor,我们会得到一个无阴影的,未着色的按钮,在Win7默认天蓝色的边框周围突出显示。
不幸的是,这是WinForms而不是WPF,所以我没有高级样式控件,我们还没有去WPF。有没有什么我可以使用开箱即用来改变Windows视觉样式用于这一个按钮的颜色?
编辑:为了节省时间,我使用WinForm托管的Button创建了一个WPF用户控件,允许所需的高级样式和故事板控件。有用。我仍然很好奇如何在GDI中完成这项工作,特别是因为我没有得到WPF所需的一切,但我有一个可行的解决方案。
答案 0 :(得分:1)
如果将UseVisualStyleBackColor设为false并使用部分alpha(例如“64,255,0,0”)手动指定BackColor,则颜色将与视觉样式背景混合,标准主题渐变将显示为该颜色。我不确定这是否适用于Windows< 7。