Frage

Wie ändern Sie die Textfarbe eines Gruppenfeld in C #? Die „Dokumentation“ nicht einmal erwähnt, und googeln hat keine Antwort auftaucht.

Danke! Alan

War es hilfreich?

Lösung

Mit den ForeColor Immobilien . Beispielcode:

using System;
using System.Drawing;
using System.Windows.Forms;

class Test
{       
    [STAThread]
    static void Main(string[] args)
    {
        Form form = new Form();
        GroupBox group = new GroupBox();
        group.Text = "Text";
        group.ForeColor = Color.Red;
        form.Controls.Add(group);
        Application.Run(form);
    }
}

Andere Tipps

Eigentlich alle Antworten gepostet hier ändert sich die forecolor anderer Bedienelemente wie Buttons, Labels etc. innerhalb des groupbox wohnen. Um speziell nur die Textfarbe des groupbox zu ändern gibt es eine einfache Abhilfe.

    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.

Wenn Sie auf die groupbox Text sich beziehen sich, dann verwenden, was Jon Skeet geschrieben. Wenn Sie alle nachfolgenden Kontrollen im groupbox sich beziehen, dann können Sie diesen Code verwenden:

        foreach (Control c in this.groupBox1.Controls)
        {
            c.ForeColor = this.groupBox1.ForeColor; //or whatever color you want
        }

oder ich habe Ihren Code ein wenig verändert, so Benutzer zwischen zwei Arten von Farbe für GROUPBOX können wählen, nur:

    private void SettingGroupBoxColor(bool bSelected)
    {
        if (!bSelected)
            groupBox1.ForeColor = Color.Red;
        else
            groupBox1.ForeColor = Color.Green;
        foreach (Control c in this.groupBox1.Controls)
        {
            c.ForeColor = Color.Black;
        }
    }

„true“ oder „false“ Werte in die obere mehod Ball passen, wird die GROUPBOX ForeColor nur ändern - während alle anderen Kontrollen forecolor wird Standard (schwarz) bleiben

.

ein Cent von mir.

Ich nehme an, Sie in WinForms nicht in WPF jetzt sind.

Um die Textfarbe eines Gruppenfeld verwenden Sie ändern ForeColor dies die Schriftfarbe im Kopftext ändert.

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