我知道我通常应该避免弄乱这样的系统设置,但我的应用程序确实已经使用了非标准颜色,我对此没有影响。我希望能够在某些地方添加标准的 .NET 控件,但它们的颜色不匹配。我想要一个 hack 来替换这个应用程序的系统颜色。需要注意的更重要的事情是它是一个 .NET 应用程序。
到目前为止,我的(不完整的)想法是:
您有什么想法,实现这一目标的最佳(和完整)方法是什么?
最佳答案
I would like to be able to add standard .NET controls in some places, but their colors do not match. I would like to have a hack that would replace system colors for this one application.
这就像用大锤钉钉子。
您可以做的是从您想要使用的每个库存控件中继承一个新控件,而不是在系统本身内部弄乱颜色。因此,您可以从股票 TextBox 控件继承而不是普通的 TextBox 来创建您自己的
ThemedTextBox
.您将这个新控件设置为默认使用应用程序的配色方案,并且因为就继承结构而言它仍然是一个 TextBox,您可以在任何使用普通文本框的地方使用它,包括在 winforms 设计器中。
关于.net - 更改单个应用程序的系统颜色(Windows、.NET),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1091925/