Windows窗体在Windows 7和XP之间的颜色变化

Windows窗体在Windows 7和XP之间的颜色变化,windows,forms,windows-7,colors,windows-xp,Windows,Forms,Windows 7,Colors,Windows Xp,我有一个使用4.0框架的vb.net Windows窗体应用程序。当我在XP机器上运行应用程序时,我的控件的颜色都与IDE中设置的颜色相匹配,IDE也是XP机器 当我在Windows7机器上运行此应用程序时,所有颜色都已更改 你知道这是为什么吗?我如何使Windows7与我的开发机器相匹配 DavidWindows窗体将采用运行它们的机器所启用的任何“主题”——这是出于设计。老实说,在Windows7上运行的windows窗体看起来像XP windows窗体是没有意义的。您能否给出某种上下文,说

我有一个使用4.0框架的vb.net Windows窗体应用程序。当我在XP机器上运行应用程序时,我的控件的颜色都与IDE中设置的颜色相匹配,IDE也是XP机器

当我在Windows7机器上运行此应用程序时,所有颜色都已更改

你知道这是为什么吗?我如何使Windows7与我的开发机器相匹配


David

Windows窗体将采用运行它们的机器所启用的任何“主题”——这是出于设计。老实说,在Windows7上运行的windows窗体看起来像XP windows窗体是没有意义的。您能否给出某种上下文,说明为什么希望windows窗体看起来总是在XP上运行?

您可以使用按钮的BackColor属性更改背景色。“前景色”属性将更改文本颜色

编辑:在玩了一些游戏后添加了以下内容


尝试确保按钮上的“UseVisualStyleBackColor”属性设置为False。我注意到,如果这是真的,系统会忽略我的背景颜色选择,并使用机器默认设置。如果为False,则使用我的背景色。

我也发现了这一点。我的VB6项目在Windows XP中运行良好。 我刚刚移动到Windows 7并将项目文件夹复制到此计算机。 我的溅屏背景色本来应该是白色的,但现在是黑色的。 背景色设置为&H80000009&在winXP中为白色,但在Windows7中为黑色。
因此,我将背景颜色更改为&h8000005&现在它又变为白色。

背景颜色都从“控制”更改为黑色,文本从“黑色”更改为蓝色。使窗体几乎无法使用。我不在乎它是否看起来像XP,我只是希望它与我在IDE中选择的颜色相匹配。它在Windows7上不应该这样。我将检查designer.cs文件中控件的元素,确保没有将某个对象的颜色设置为非默认值。如果所有颜色都设置为“系统”颜色,那么它应该完全可用,并且与所有支持.NET 4.0的windows版本上的系统主题匹配。此后,我尝试调整主题,但没有效果。我也不会在程序中更改任何颜色。与2010 windows窗体相比,没有定制控件,几乎是开箱即用。在一些XP和Win7机器之间的行为是非常一致的。。。看来主题是罪魁祸首。我在Windows7中选择了“WindowsClassic”主题,所有颜色都匹配。当然希望无论主题如何,我都能保留我的颜色…如果将UseVisualStyleBackColor设置为False,会有什么不同吗?谢谢Johnie,但是控件属性中由选择的颜色会被PC使用的主题覆盖。不是XP或Win7问题。