Frage

Auf meinem System, die Beschriftung eines groupbox ist immer eine dunkelblaue Farbe, wie ändere ich das?

Die Antwort auf Wie ändern Sie die Farbe der Grenze auf einem Gruppenfeld? zeigt, wie ich die Zeichnung der Beschriftung außer Kraft setzen kann und Grenze, aber ich will nicht mit Visual Styles und Zeichnung abgerundeten Ecken zu tun haben und die wie.

War es hilfreich?

Lösung

ForeColor ist die Eigenschaft, die die Farbe des Textes in einem groupbox steuert.

Andere Tipps

Dies sollte den Trick tun:

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

Es scheint, dass ich die Beschriftung Farbe, indem der ForeColor auf die Farbe, die ich will und die Einstellung der Flatstyle auf Standard eingestellt werden.

Wenn der Flatstyle ist System, oder wenn es Standard und die ForeColor nicht vom Standard geändert, dann wird die Beschriftung Farbe auf die Farbe festgelegt in den XP-Theme angegeben.

Das oben half mir nicht.
Ich fand die Lösung hier durch den GroupBox.Header Tag hinzu:

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

In Delphi zumindest die Beschriftung nur die Schriftfarbe ist, möchten Sie sicher Parent ist falsch machen. Aber das kann überhaupt nicht für Sie nützlich sein, da Sie Ihre Frage getaggt .net

Einstellung

groupBox1.ForeColor

ändert die forecolor anderer Bedienelemente wie Buttons, Labels usw. innerhalb des groupbox Wohnsitz, die in den meisten Fällen unerwünscht sein muss, wenn Sie nur die Textfarbe von groupbox ändern müssen. Eine einfache Abhilfe wird

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

Natürlich kann der obige Code bedeutungslos sein, wenn Sie Steuerelemente programmatisch später zum groupbox hinzufügen, aber die gute Sache ist, dass Sie alles, was Situationen durch das Hinzufügen von zusätzlichen Bedingungen in Code verarbeiten können. Um doppelt sicher, eine Liste von KeyValuePair der Kontrolle und forecolor eingesetzt werden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top