C# 强制应用程序使用Windows经典主题

C# 强制应用程序使用Windows经典主题,c#,.net,windows,winforms,C#,.net,Windows,Winforms,嘿,伙计们,我到处找这个问题,但什么都找不出来 问题是: 如果用户更改Windows桌面上的配色方案,则会调整.net应用程序中的某些功能 有没有办法强迫我的应用程序使用Windows经典主题,而不管用户的主题是什么 谢谢 我使用DevExpress()控件实现了这一点,它们有自己的主题引擎,其中一个主题是Windows经典主题。这些主题甚至可以设置窗口边框的样式,因此它是一个真正完整的外观控制 至于如何在没有第三方控制的情况下进行本机操作,我不知道 具体来说,请在这里查找DevExpress控

嘿,伙计们,我到处找这个问题,但什么都找不出来

问题是:

如果用户更改Windows桌面上的配色方案,则会调整.net应用程序中的某些功能

有没有办法强迫我的应用程序使用Windows经典主题,而不管用户的主题是什么


谢谢

我使用DevExpress()控件实现了这一点,它们有自己的主题引擎,其中一个主题是Windows经典主题。这些主题甚至可以设置窗口边框的样式,因此它是一个真正完整的外观控制

至于如何在没有第三方控制的情况下进行本机操作,我不知道


具体来说,请在这里查找DevExpress控件套件中的主题引擎:

我已经使用DevExpress()控件完成了这项工作,它们有自己的主题引擎,其中一个包含的主题是Windows经典主题。这些主题甚至可以设置窗口边框的样式,因此它是一个真正完整的外观控制

至于如何在没有第三方控制的情况下进行本机操作,我不知道


具体来说,请在此处查找DevExpress控件套件中的主题引擎:

启动时在应用程序对象上设置此属性

Application.VisualStyleState = System.Windows.Forms.VisualStyles.VisualStyleState.NoneEnabled;

启动时,在应用程序对象上设置此属性

Application.VisualStyleState = System.Windows.Forms.VisualStyles.VisualStyleState.NoneEnabled;

如果您使用的是Visual Studio:当您转到应用程序项目的属性时,您会发现一个复选框“启用XP视觉样式”。如果禁用该选项,则不应将主题应用于应用程序。我假设这相当于取消注释用户nobugz提到的代码行。

如果您使用的是Visual Studio:当您转到应用程序项目的属性时,您会发现一个复选框Enable XP Visual Styles。如果禁用该选项,则不应将主题应用于应用程序。我假设这相当于取消对用户nobugz提到的代码行的注释。

特别是什么功能?发生的问题相当糟糕。我有一个丰富的文本框和垂直滚动条,它根据用户设置的配色方案进行收缩/扩展。我有一个算法,可以将上述文本框中的文本解析成一个.rdlc文件。实际文本框的宽度需要同步,但滚动条的宽度会稍微移动…特别是什么功能?出现的问题相当糟糕。我有一个丰富的文本框和垂直滚动条,它根据用户设置的配色方案进行收缩/扩展。我有一个算法,可以将上述文本框中的文本解析成一个.rdlc文件。实际文本框的宽度需要同步,但滚动条的宽度会稍微移动…您还必须注释掉enablevisualstyles方法您还必须注释掉enablevisualstyles方法是的,我之前尝试过,但这是配色方案(右键单击桌面->属性->外观->配色方案。配色方案会更改应用程序中滚动条的宽度,这(很不幸)会影响一些我想强制Windows标准(而不是Slate等)的事情。然后,另一种方法是计算滚动条的(默认)宽度或高度(您可以通过.NET中的某个属性来检索它:
SystemInformation.VerticalScrollBarWidth
,或
SystemInformation.HorizontalScrollBarHeight
)。您可以使用该信息适当地缩放UI元素。我在您的评论中选择了这条路线,它似乎很有效;谢谢您的帮助!是的,我之前尝试过,但它是配色方案(右键单击桌面->属性->外观->配色方案)。配色方案会更改应用程序中滚动条的宽度,从而(不幸的是)影响一些我想强制Windows标准(而不是Slate等)的事情,然后另一种选择是计算(默认)滚动条的宽度或高度(您可以通过.NET中的某个属性来检索它:
SystemInformation.VerticalScrollBarWidth
SystemInformation.HorizontalScrollBarHeight
)。您可以使用这些信息来适当地缩放UI元素。我在您的评论中找到了相应的方法,它似乎可以正常工作;感谢您的帮助!