Winforms 是否可以在Windows窗体应用程序中使用主题颜色?

Winforms 是否可以在Windows窗体应用程序中使用主题颜色?,winforms,themes,colors,systemcolors,Winforms,Themes,Colors,Systemcolors,在设计Windows窗体应用程序时,我通常会尽可能地使用它,以使其符合用户的偏好。但是有可能使用吗 我意识到这在几个方面限制了您(必须运行支持它的Windows,并且运行主题服务),因此如果它可以依赖于其他默认设置,我当然会喜欢它,但因为我相当肯定99%的用户都可以使用它,如果可能的话,我想使用它 具体来说,对于较新的Windows版本(Vista和7),超链接之类的东西具有更柔和的淡蓝色。旧的系统颜色没有为链接等定义任何内容,一般来说,在选择和多样性方面更为有限(来自95天) 虽然WPF可能有

在设计Windows窗体应用程序时,我通常会尽可能地使用它,以使其符合用户的偏好。但是有可能使用吗

我意识到这在几个方面限制了您(必须运行支持它的Windows,并且运行主题服务),因此如果它可以依赖于其他默认设置,我当然会喜欢它,但因为我相当肯定99%的用户都可以使用它,如果可能的话,我想使用它

具体来说,对于较新的Windows版本(Vista和7),超链接之类的东西具有更柔和的淡蓝色。旧的系统颜色没有为链接等定义任何内容,一般来说,在选择和多样性方面更为有限(来自95天)

虽然WPF可能有更好的支持,但我不能随意使用它。如果需要某些第三方实用程序、组件或类似工具,则还需要免费使用。我不需要那么花哨的东西,但在一个完美的世界里,我可以做这样的事情:

linkLabel1.LinkColor = System.Drawing.ThemeColors.Hyperlink;

我只是使用默认的蓝色(0,0255)并让它们在Vista和更高版本中看起来不合适吗?如果需要的话,我甚至会选择丑陋的p/invoke interop方法…

我知道这是一个愚蠢的想法,但是你可以检查操作系统版本,然后预加载一组颜色,你知道这两个属性吗


假设他们没有更改默认主题。这是可能的,因为大多数人不这样做,但仍然。。。它不像当前的System.Drawing.SystemColor方式那样优雅。