更改组框文字颜色?

如何在C#中更改组框的文本颜色? “文档”甚至没有提到这一点,谷歌搜索没有找到答案。

谢谢! 艾伦

使用ForeColor属性。 示例代码:

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

实际上,这里发布的所有答案都会改变其他控件的前景色,例如位于组框内的按钮,标签等。 要专门更改组框的文本颜色,有一个简单的解决方法。

  private void button1_Click(object sender, EventArgs e) { List lstColour = new List(); 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++; } } 

当然,如果您稍后以编程方式将控件添加到组框中,则上述代码可能毫无意义,但好处是您可以通过在代码中添加额外条件来处理所有这些情况。 更确切地说,可以使用控制和前色的关键值对列表。

如果您指的是groupbox文本本身,请使用Jon Skeet发布的内容。 如果您指的是组框中的所有后续控件,则可以使用以下代码:

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

或者我稍微更改了您的代码,因此用户只能为groupBox选择两种颜色:

  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”或“false”值传递给上面的mehod,将仅更改groupBox ForeColor – 而所有其他控件forecolor将保持默认(黑色)。

我的一分钱。

我假设你现在不在WPF中。

若要更改组框的文本颜色,请使用ForeColor,这将更改标题文本中的字体颜色。