2009-06-02 69 views
6

どのようにC#のグループボックスのテキストの色を変更しますか? "ドキュメンテーション"はこれについて言及していないし、グーグルは答えを出せていない。グループボックスのテキストの色を変更しますか?

ありがとうございます! Alan

+4

私の場合、ForeColorは正しく設定されていました(ForeColor = WhiteとBackColor = BlackだったFormからおそらく継承されたWhiteに)、Blueを表示していました。これを別の色に変更してプロパティウィンドウに戻しましたトリック!これでプロパティは太字で表示され、変更されたことを示します。 –

答えて

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

魅力的な作品です!ありがとうジョン! – user20493

1

あなたはWPFではないwinformsにいると仮定しています。

ForeColorを使用するグループボックスのテキストの色を変更するには、ヘッダーテキストのフォントの色を変更します。

4

グループボックスのテキスト自体を参照している場合は、Jon Skeetが投稿したものを使用してください。あなたがグループボックス内のすべての後続のコントロールを参照している場合は、このコードを使用することができます:

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

実際にすべての答えはここに掲載ボタン、グループボックス内に存在するラベルなどのような他のコントロールの前景色を変更します。グループボックスのテキストの色だけを変更するには、簡単な回避策があります。もちろん

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

あなたがプログラムで後でグループボックスにコントロールを追加する場合は、上記のコードでは無意味することができますが、良いことは、あなたがコード内の余分な条件を追加することにより、すべてのことの状況を扱うことができるです。二重に確かめるために、コントロールとフォアカラーのキー値ペアのリストを使用することができます。

+1

仲間の素晴らしい作品!これは私が探していたものです。投票+1: –

+0

上記はスレッドセーフではないことに注意してください。グループボックスの色を変更して同時にコントロールを追加/削除している場合は、辞書またはタプルのリストを使用してコントロール参照を色で保存してから、2回目のループでそのコレクションをforeachする変更されたコントロールリスト –

+0

@DeniseSkidmoreはい良い点、私はすでにその行に沿った答えでそれを言及しました。 – nawfal

2

または私は少しユーザーようにコードを変更しただけのGroupBoxの色の2種類から選択できます。上位mehodに「true」または「false」の値を渡す

、グループボックスを変更しますForeColorのみ - 他のすべてのコントロールforecolorはデフォルト(黒)のままです。

鉱山の1セント。

関連する問題