在我的系统中,GroupBox的标题始终是深蓝色的,我该如何更改它?
回答如何更改GroupBox边框的颜色?的方法显示了如何覆盖标题和边框的绘制,但我不想处理视觉样式、圆角等问题。
在我的系统中,GroupBox的标题始终是深蓝色的,我该如何更改它?
回答如何更改GroupBox边框的颜色?的方法显示了如何覆盖标题和边框的绘制,但我不想处理视觉样式、圆角等问题。
ForeColor是控制groupbox中文本颜色的属性。
public Form1()
{
InitializeComponent();
GroupBoxRenderer.RenderMatchingApplicationState = false;
groupBox1.ForeColor = Color.Green;
}
以上内容对我没有帮助。
我通过添加GroupBox.Header标签在这里找到了解决方案:
<GroupBox>
<GroupBox.Header>
<TextBlock Text="Header" Foreground="Black"/>
</GroupBox.Header>
</GroupBox>
看起来我可以通过将ForeColor设置为所需的颜色并将FlatStyle设置为Standard来设置标题颜色。
如果FlatStyle是System,或者它是Standard且ForeColor未从默认值更改,则标题颜色设置为XP主题中指定的颜色。
设置
groupBox1.ForeColor
更改组合框内其他控件(如按钮、标签等)的前景色,这在大多数情况下是不必要的,如果您只需要更改组合框的文本颜色。一个简单的解决方法是
private void button1_Click(object sender, EventArgs e)
{
List<Color> lstColour = new List<Color>();
foreach (Control c in groupBox1.Controls)
lstColour.Add(c.ForeColor);
groupBox1.ForeColor = Color.Red; //the colour you prefer for the text
int index = 0;
foreach (Control c in groupBox1.Controls)
{
c.ForeColor = lstColour[index];
index++;
}
}