程序显示颜色win7与win10不一样

sam10000 2020-10-29 08:00:18
请教:
在WIN7下的C#程序(VS2015),FORM颜色发灰,拷到win10的VS2015下面,打开后FORM颜色发白。
FORM的BACKCOLOR没改过,都是CONTROL。
请问,如何完美解决这个问题呢?尽量不要动程序,让WIN10下的显示与WIN7一致呢?
还有LABEL-BACKCOLOR 为ActiveBorder,到WIN10下就不一样了。
可以不可以调整WIN10的哪个设定,让他们显示一致?
...全文
6915 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
wanghui0380 2020-11-01
  • 打赏
  • 举报
回复
看看微软官方说明 https://docs.microsoft.com/zh-cn/dotnet/api/system.windows.forms.application.enablevisualstyles?view=netcore-3.1
引用
此方法为应用程序启用视觉样式。 视觉样式是指构成操作系统主题的颜色、字体和其他视觉对象。 如果控件和操作系统支持视觉样式,控件将用视觉样式绘制。 若要产生效果, EnableVisualStyles() 必须先调用,然后才能在应用程序中创建任何控件; 通常, EnableVisualStyles() 是函数中的第一行 Main 。 调用时,不需要单独的清单即可启用视觉样式 EnableVisualStyles() 。
如果我们的回复你都完全不打算看的话,只想要代码。对不起,这个问题没有代码,他不是代码问题。 要么用系统主题,要么不用系统主题没啥别的说法。
wanghui0380 2020-11-01
  • 打赏
  • 举报
回复
似乎,你不能很好理解回复 楼上所有人都告诉你,他Color.Control跟随系统主题风格,你系统设置成啥,他就是啥。原因是你启用了Application.EnableVisualStyles();让他跟随系统主题设置 所以回答是,你要么不用Application.EnableVisualStyles();,要么不用Color.Control(直接指定#FFFFFFFF)
sam10000 2020-10-31
  • 打赏
  • 举报
回复
好像回答都不能解决问题。
assky124 2020-10-30
  • 打赏
  • 举报
回复
WPF部分也和系统有关的好像,焦点之类的
八爻老骥 2020-10-30
  • 打赏
  • 举报
回复
Winform用的都是系统控件,样式跟系统走的,就算不用系统主题,基本的形态也是跟系统走的,比如获取焦点后的那个虚框,控件的边线,阴影都不太能做到完全统一。系统中立的UI才能做到统一,比如adobe flex,JavaSwing,QT,WPF也可以,WPF的控件是跟系统无关的。
wanghui0380 2020-10-30
  • 打赏
  • 举报
回复
program.cs 里默认会有这样一句代码 Application.EnableVisualStyles(); 自己百度他起什么作用
datafansbj 2020-10-30
  • 打赏
  • 举报
回复
颜色值 Color.Control 是系统定义的,这个颜色值会根据操作系统的设置不同而不同(你可以在控制面板的显示属性里更改窗体默认背景色)。如果要固定化,需要人为设置一个确定性的颜色值,而不是使用系统定义的颜色值。

111,093

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧