Ändern Gruppenfeld Textfarbe?
Frage
Wie ändern Sie die Textfarbe eines Gruppenfeld in C #? Die „Dokumentation“ nicht einmal erwähnt, und googeln hat keine Antwort auftaucht.
Danke! Alan
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.