Domanda

Sul mio sistema, la didascalia di un GroupBox è sempre un colore blu scuro, come faccio a cambiare questo?

La risposta a Come si fa a cambiare il colore del bordo su una casella di gruppo? mostra come posso ignorare il disegno della didascalia e di frontiera, ma io non voglio avere a che fare con gli stili visivi e disegno angoli arrotondati e la come.

È stato utile?

Soluzione

ForeColor è la proprietà che controlla il colore del testo in una casella di gruppo.

Altri suggerimenti

Questo dovrebbe fare il trucco:

public Form1()
{
  InitializeComponent();
  GroupBoxRenderer.RenderMatchingApplicationState = false;
  groupBox1.ForeColor = Color.Green;
}

Mi sembra di impostare il colore didascalia impostando la ForeColor per il colore che voglio e impostando la FlatStyle a standard.

Se il FlatStyle è System, o se è standard e la ForeColor non è cambiato dal default, quindi il colore didascalia è impostato al colore specificato nel tema XP.

È possibile che questo non mi aiuta.
Ho trovato la soluzione qui aggiungendo il tag GroupBox.Header:

<GroupBox>
  <GroupBox.Header>
      <TextBlock Text="Header" Foreground="Black"/>
  </GroupBox.Header>
</GroupBox>

In Delphi, almeno, la didascalia è solo il colore del carattere, si vuole fare in modo parentfont è falso. Ma questo non può essere utile a tutti per te da quando sei taggato la tua domanda .net

Impostazioni

groupBox1.ForeColor

cambia il forecolor di altri controlli bottoni, etichette ecc residente all'interno della GroupBox che deve essere sgradito nella maggior parte dei casi, se avete solo bisogno di cambiare il colore del testo di GroupBox come. Una soluzione semplice sarà

    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++;
        }
    }

Naturalmente il codice di cui sopra può essere priva di significato se si sta aggiungendo controlli di programmazione in seguito alla GroupBox, ma la cosa buona è che si può gestire tutte le situazioni che con l'aggiunta di condizioni supplementari in codice. Per essere doppiamente sicuro, un elenco di KeyValuePair di controllo e di forecolor può essere impiegato.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top