グループボックスのテキストの色を変更しますか?
質問
どのように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<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++;
}
}
もちろん、あなたがプログラムで後でグループボックスにコントロールを追加する場合は、上記のコードでは無意味することができますが、良いことは、あなたがコード内の余分な条件を追加することにより、すべてのことの状況を扱うことができるです。二重に確認するには、コントロールと前景色のkeyvaluepairのリストを使用することができます。
あなたはグループボックスのテキスト自体に言及している場合には、ジョンスキートが掲示ものを使用。あなたがグループボックス内の後続のすべてのコントロールを参照している場合、あなたはこのコードを使用することができます:
foreach (Control c in this.groupBox1.Controls)
{
c.ForeColor = this.groupBox1.ForeColor; //or whatever color you want
}
あるいは、ユーザがグループボックスの色の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;
}
}
上部mehodに「true」または「false」の値を渡す、のみグループボックス前景色を変更します - 他のすべてのコントロールながら、前景色は、デフォルト(黒)のままになります。
。私のセントます。
私は、あなたが今、WPFでないリサイズしていると仮定しています。
あなたは、これは、ヘッダーテキストのフォントの色を変更ForeColorプロパティを使用してグループボックスのテキストの色を変更するには。