我可以让GroupBox ForeColor的行为与WinForms中的Button相同吗?

时间:2010-11-14 12:43:47

标签: winforms

我希望GroupBox标题和Button标题上的文字是相同的颜色,如果它们具有相同的ForeColor(以及其他类似的控件设置)。

GroupBox的ForeColor属性和几个按钮都设置为ControlText,但它们呈现为蓝色(groupbox)和黑色(按钮)。假设这些匹配当前的XP主题。问题是如何在这些控件或Winforms控件上设置属性,以便它们的行为是一致的和预期的?或者它已经是正确的,我是误解?

1 个答案:

答案 0 :(得分:1)

一般情况下,主题是如何运作的。它根据用户选择的主题覆盖控件的默认属性。 ProgressBar.ForeColor就是一个更为鲜明的例子,无论你在设计师中选择什么颜色,它都将成为Vista上的脉冲绿色条。

Fwiw,当你试图覆盖它时,你会遇到相当多的痛苦。 GroupBox.ForeColor是一个非常值得注意的例子。如果你从不自己分配ForeColor,它只会有主题颜色(它是假的btw)。一旦你这样做,你就永远无法重置它。即使再次分配ControlText,您也会变黑,而不是主题颜色。从“Windows环境中的环境属性”的实现方式来看,这有点不可避免。称它为bug是不合理的。没有修补它是避免这种麻烦的最好方法,你的用户不会抱怨。