如何在 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);
}
}
实际上,此处发布的所有答案都会更改位于 groupbox 内的其他控件(如按钮、标签等)的前景色。要专门更改组框的文本颜色,有一个简单的解决方法。
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++;
}
}
当然,如果您稍后以编程方式将控件添加到组框,上述代码可能毫无意义,但好在您可以通过在代码中添加额外条件来处理所有这些情况。可以肯定的是,可以使用控制和前景色的键值对列表。
如果您指的是组框文本本身,请使用 Jon Skeet 发布的内容。如果您指的是 groupbox 中的所有后续控件,则可以使用以下代码:
foreach (Control c in this.groupBox1.Controls)
{
c.ForeColor = this.groupBox1.ForeColor; //or whatever color you want
}
或者我已经稍微更改了您的代码,因此用户只能在 groupBox 的 2 种颜色之间进行选择:
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”值传递给上部方法,将仅更改 groupBox ForeColor - 而所有其他控件的前景色将保持默认(黑色)。
我的一分钱。
我假设您现在使用的是 winforms 而不是 WPF。
要更改组框的文本颜色,请使用 ForeColor 这会更改标题文本中的字体颜色。