如何更改C#中组框的文本颜色? “文档”甚至没有提到这一点,谷歌搜索没有找到答案。
谢谢! 艾伦
答案 0 :(得分:12)
使用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);
}
}
答案 1 :(得分:5)
实际上,此处发布的所有答案都会更改其他控件的前景色,例如位于组框内的按钮,标签等。要专门更改组框的文本颜色,有一个简单的解决方法。
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++;
}
}
当然,如果您稍后以编程方式将控件添加到组框中,则上述代码可能毫无意义,但好处是您可以通过在代码中添加额外条件来处理所有这些情况。更确切地说,可以使用控制和前色的关键值对列表。
答案 2 :(得分:4)
如果您指的是groupbox文本本身,请使用Jon Skeet发布的内容。如果您指的是组框中的所有后续控件,则可以使用以下代码:
foreach (Control c in this.groupBox1.Controls)
{
c.ForeColor = this.groupBox1.ForeColor; //or whatever color you want
}
答案 3 :(得分:2)
或者我稍微更改了您的代码,因此用户只能为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将保持默认值(黑色)。
我的一分钱。答案 4 :(得分:1)
我假设你现在不在WPF中胜利。
要更改使用ForeColor的组框的文本颜色,这会更改标题文本中的字体颜色。