Como faço para definir a cor da legenda GroupBox
Pergunta
No meu sistema, a legenda de um GroupBox é sempre uma cor azul escuro, como faço para mudar isso?
A resposta para como você muda a cor da borda em uma caixa de grupo? espectáculos como posso substituir o desenho da legenda e de fronteira, mas eu não quero ter que lidar com estilos visuais e desenho cantos arredondados e o like.
Solução
ForeColor é a propriedade que controla a cor do texto em uma caixa de grupo.
Outras dicas
Isso deve fazer o truque:
public Form1()
{
InitializeComponent();
GroupBoxRenderer.RenderMatchingApplicationState = false;
groupBox1.ForeColor = Color.Green;
}
Parece que eu posso definir a cor da legenda, definindo a ForeColor à cor que eu quero e definindo o FlatStyle como Padrão.
Se o FlatStyle é do sistema, ou se é padrão e o ForeColor não é alterado a partir do padrão, então a cor da legenda é definida como a cor especificada no XP tema.
A descrição acima não me ajudar.
Eu encontrei a solução aqui , adicionando a tag GroupBox.Header:
<GroupBox>
<GroupBox.Header>
<TextBlock Text="Header" Foreground="Black"/>
</GroupBox.Header>
</GroupBox>
Em Delphi, pelo menos, a legenda é apenas a cor da fonte, você quer ter certeza de parentfont é falsa. Mas isso pode não ser útil em tudo para você desde que você marcou a sua pergunta .net
Configuração
groupBox1.ForeColor
muda a forecolor de outros controles como botão, etiqueta etc que residem no interior do groupbox que tem de ser indesejável na maioria dos casos, se você só precisa mudar a cor do texto de groupbox. Uma solução simples será
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++;
}
}
Claro que o código acima pode ser sentido se você está adicionando controles programaticamente mais tarde para o groupbox, mas a coisa boa é que você pode lidar com tudo o que situações adicionando condições extra no código. Para ser duplamente certo, uma lista de KeyValuePair de controle e forecolor podem ser empregadas.