6

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

ありがとう!アラン

4

5 に答える 5

13

プロパティを使用し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);
    }
}
于 2009-06-02T19:40:26.583 に答える
6

実際、ここに投稿されたすべての回答は、グループボックス内にあるボタン、ラベルなどの他のコントロールの前色を変更します。グループボックスのテキストの色だけを具体的に変更するには、簡単な回避策があります。

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

もちろん、後でプログラムによってグループボックスにコントロールを追加する場合、上記のコードは無意味になる可能性がありますが、コードに条件を追加することで、そのすべての状況を処理できるという利点があります。念のため、コントロールとフォアカラーのキーと値のペアのリストを使用できます。

于 2011-09-21T02:25:12.717 に答える
4

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

        foreach (Control c in this.groupBox1.Controls)
        {
            c.ForeColor = this.groupBox1.ForeColor; //or whatever color you want
        }
于 2009-06-02T19:45:45.103 に答える
2

または、コードを少し変更して、ユーザーが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のみが変更されますが、他のすべてのコントロールのフォアカラーはデフォルト(黒)のままになります。

私の1セント。

于 2012-05-23T05:12:42.287 に答える
1

現在、WPFではなくwinformsを使用していると想定しています。

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

于 2009-06-02T19:44:30.567 に答える