프로그램 개발/C#

[wpf] c# 코드로 Label 색 변경하기

(ㅇㅅㅎ) 2021. 1. 10. 00:49
728x90
반응형

RGB 색 이용한 방법

c# 코드로 색을 변경하는 방법은 지정된 색을 이용하는 방법과 RGB 값을 이용하는 방법이있습니다.

 

공통 부분

xaml
<StackPanel HorizontalAlignment="Center" VerticalAlignment="Center">
    <Label Name="L1" Content="안녕하세요!!!!" HorizontalAlignment="Center" FontSize="100"/>
    <Button Name="Btn1" Width="100" Height="30" Click="Button_Click" Content="색 바꾸기"/>
</StackPanel>

 

 

1. 지정된 색 이용

지정된 색 이용한 방법

c#
// 글자 색 모음
Color[] color = {Colors.IndianRed, Colors.CadetBlue, Colors.BlueViolet, Colors.Black};
// 글자 색 인덱스
int index = 0;

private void Button_Click(object sender, RoutedEventArgs e){
    // 라벨 색 변경
    L1.Foreground = new SolidColorBrush(color[index++]);

    // 색상 변경
    if (index == color.Length){index = 0;}
}

 

 

2. RGB 값 이용

RGB 색 이용한 방법

RGB 값은 문자열로 다음과 같이 사용됩니다.

(A : 투명도, R : 빨간색, G : 초록색, B : 파란색)

 

"#AARRGGBB"

 

c#
// 글자 색 모음
string[] color_str = { "abdee6", "cbaacb", "ffffb5", "ffccb6", "f3b0c3", "000000"};
// 글자 색 인덱스
int index = 0;

private void Button_Click(object sender, RoutedEventArgs e){
    // 라벨 색 변경
    L1.Foreground = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#ff" + color_str[index++]));

    // 색상 변경
    if (index == color_str.Length){index = 0;}
}

 

반응형