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.

Foi útil?

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top