문제

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

물론 나중에 그룹 상자에 프로그래밍 방식으로 컨트롤을 추가하는 경우 위의 코드는 의미가 없을 수 있지만 좋은 점은 코드에 추가 조건을 추가하여 모든 상황을 처리할 수 있다는 것입니다.확실하게 하기 위해 제어 및 전경색의 키값 쌍 목록을 사용할 수 있습니다.

GroupBox 텍스트 자체를 언급하는 경우 Jon Skeet이 게시 한 내용을 사용하십시오. GroupBox의 모든 후속 컨트롤을 언급하는 경우이 코드를 사용할 수 있습니다.

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

또는 코드를 약간 변경하여 사용자가 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 예측 명령 만 변경되지만 다른 모든 컨트롤 예측은 기본값 (검은 색)으로 유지됩니다.

내 센트.

나는 당신이 지금 WPF에 있지 않은 WinForm에 있다고 가정합니다.

그룹 상자의 텍스트 색상을 변경하려면 예측 명단을 사용하면 헤더 텍스트의 글꼴 색상이 변경됩니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top