WinForms: 애플리케이션에 여러 테마를 추가하는 방법

WinForms: 애플리케이션에 여러 테마를 추가하는 방법

최신 응용 프로그램에는 다른 테마 간에 전환할 수 있는 옵션이 있는 것이 일반적입니다. 예를 들어, 일부 응용 프로그램에서는 밝은 테마 또는 어두운 테마 간에 전환할 수 있지만 다른 응용 프로그램에서는 더 많은 테마를 선택할 수 있습니다.





Windows Forms는 데스크톱 응용 프로그램을 만들 수 있는 UI 프레임워크입니다. 각 테마에 대해 선택 가능한 단추를 만들어 Windows 양식 앱에서 테마를 구현할 수 있습니다.





MAKEUSEOF 오늘의 비디오

사용자가 테마를 선택하면 선택한 테마와 일치하도록 각 요소의 배경색 또는 텍스트 색상 속성을 변경할 수 있습니다.





Windows Form 프로젝트를 설정하는 방법

먼저 새 Windows 양식 앱을 만듭니다. 단추 및 레이블과 같은 몇 가지 기본 컨트롤로 새 프로젝트를 채웁니다.

  1. 만들기 새로운 Windows Forms 애플리케이션 비주얼 스튜디오에서.
  2. 새 프로젝트에서 도구 상자를 사용하여 단추 컨트롤을 검색합니다.   Winforms 앱의 버튼에 대한 속성 창
  3. 선택 버튼 컨트롤 캔버스로 드래그합니다. 총 3개의 버튼 컨트롤을 추가합니다.   Winforms 앱의 버튼에 대한 속성 창
  4. 도구 상자를 사용하여 클릭하고 끕니다. 라벨 컨트롤 캔버스에. 버튼 아래에 레이블을 놓습니다.   Winforms 앱의 버튼에 대한 속성 창
  5. 속성 창을 사용하여 버튼과 레이블의 스타일을 지정합니다. 속성을 다음으로 변경합니다.
    버튼1 크기 580, 200
    플랫스타일 평평한
    텍스트 사용자
    버튼2 크기 580, 100
    플랫스타일 평평한
    텍스트 계정
    버튼3 크기 580, 100
    플랫스타일 평평한
    텍스트 권한
    라벨1 텍스트 저작권 2022

설정 버튼 및 테마 목록을 만드는 방법

간단한 테마 메뉴가 작동하려면 각 테마를 나타내는 여러 개의 버튼을 만드세요. 응용 프로그램에는 'Light' 테마, 'Nature' 테마 및 'Dark' 테마의 세 가지 테마가 포함됩니다.



  1. 캔버스에 다른 버튼 컨트롤을 추가하여 설정(또는 '테마') 버튼을 나타냅니다.
  2. 이 버튼의 속성을 다음과 같이 변경합니다.
    이름 btn테마설정
    플랫스타일 평평한
    크기 200, 120
    텍스트 테마
  3. 세 개의 단추를 캔버스로 더 끕니다. 이 버튼은 세 가지 다른 테마를 나타냅니다. 각 버튼의 속성을 다음과 같이 변경합니다.
    첫 번째 버튼 이름 btn라이트테마
    배경색 화이트스모크
    크기 200, 80
    플랫스타일 평평한
    텍스트
    보이는 거짓
    두 번째 버튼 이름 btn네이처테마
    배경색 다크씨그린
    크기 200, 80
    플랫스타일 평평한
    텍스트 자연
    보이는 거짓
    세 번째 버튼 이름 btn다크테마
    배경색 딤그레이
    포어컬러 하얀색
    크기 200, 80
    플랫스타일 평평한
    텍스트 어두운
    보이는 거짓
  4. 더블 클릭 테마 단추. 이렇게 하면 '클릭 시' 이벤트를 처리하는 메서드가 생성됩니다. 사용자가 이 버튼을 클릭하면 메서드가 실행됩니다.
  5. 기본적으로 'Light', 'Nature' 및 'Dark' 테마는 표시되지 않습니다. 기능 내에서 버튼의 가시성을 토글하는 기능을 추가하여 표시하거나 숨깁니다.
    private void btnThemeSettings_Click(object sender, EventArgs e) 
    {
    btnNatureTheme.Visible = !btnNatureTheme.Visible;
    btnLightTheme.Visible = !btnLightTheme.Visible;
    btnDarkTheme.Visible = !btnDarkTheme.Visible;
    }
  6. Visual Studio 창 상단에 있는 녹색 재생 버튼을 클릭하여 애플리케이션을 실행합니다.
  7. 런타임 시 애플리케이션은 기본적으로 세 가지 테마 각각에 대한 버튼을 숨깁니다.
  8. 클릭 테마 버튼을 눌러 표시할 테마를 전환합니다. 계속 누를 수 있습니다 테마 버튼을 클릭하여 가시성을 전환합니다.

테마 관리 방법

사용할 다양한 색상을 저장하기 위해 각 테마에 대한 사전을 만듭니다. 여러 번 사용해야 하는 경우에 대비하여 모든 테마 색상을 한 곳에 저장하기 위한 것입니다. 또한 향후에 새로운 색상으로 테마를 업데이트하려는 경우에도 쉽게 할 수 있습니다.

100 디스크 사용량을 수정하는 방법
  1. 기본값 상단에 Form1.cs C# 파일 및 내부 형태 클래스, 전역 열거형을 만듭니다. 이 열거형은 테마에서 사용할 다양한 유형의 색상을 저장합니다.
    enum ThemeColor 
    {
    Primary,
    Secondary,
    Tertiary,
    Text
    }
  2. 아래에 세 가지 테마 각각에 대해 하나씩 세 개의 글로벌 사전을 선언합니다. 사용 방법에 익숙하지 않은 경우 사전에 대해 자세히 읽을 수 있습니다. C# 사전 .
    Dictionary<ThemeColor, Color> Light = new Dictionary<ThemeColor, Color>(); 
    Dictionary<ThemeColor, Color> Nature = new Dictionary<ThemeColor, Color>();
    Dictionary<ThemeColor, Color> Dark = new Dictionary<ThemeColor, Color>();
  3. 생성자 내에서 사전을 초기화합니다. 각 테마에서 사용할 다른 색상에 대한 값을 추가하십시오.
    public Form1() 
    {
    InitializeComponent();
    // Add dictionaries here
    Light = new Dictionary<ThemeColor, Color>() {
    { ThemeColor.Primary, Color.WhiteSmoke },
    { ThemeColor.Secondary, Color.Silver },
    { ThemeColor.Tertiary, Color.White },
    { ThemeColor.Text, Color.Black }
    };
    Nature = new Dictionary<ThemeColor, Color>() {
    { ThemeColor.Primary, Color.DarkSeaGreen },
    { ThemeColor.Secondary, Color.AliceBlue },
    { ThemeColor.Tertiary, Color.Honeydew },
    { ThemeColor.Text, Color.Black }
    };
    Dark = new Dictionary<ThemeColor, Color>() {
    { ThemeColor.Primary, Color.DimGray },
    { ThemeColor.Secondary, Color.DimGray },
    { ThemeColor.Tertiary, Color.Black },
    { ThemeColor.Text, Color.White }
    };
    }

테마 변경 방법

응용 프로그램의 테마를 관리하는 기능을 만듭니다. 이러한 함수는 캔버스에 있는 UI 요소의 배경색 또는 텍스트 색상을 변경합니다.





  1. 라는 새 함수를 만듭니다. 테마 변경() . 이 함수는 테마의 색상을 인수로 사용합니다.
  2. 함수 내에서 UI 요소의 배경색 속성을 변경합니다. 새 배경색은 선택한 테마의 색상을 사용합니다.
    private void ChangeTheme(Color primaryColor, Color secondaryColor, Color tertiaryColor) 
    {
    // Change background color of buttons
    btnThemeSettings.BackColor = primaryColor;
    button1.BackColor = primaryColor;
    button2.BackColor = secondaryColor;
    button3.BackColor = secondaryColor;
    this.BackColor = tertiaryColor;
    }
  3. 라는 새 함수를 만듭니다. 텍스트 색상 변경() . 이것을 사용하여 텍스트의 색상을 어둡거나 밝게 변경할 수 있습니다. 이는 어두운 배경의 텍스트를 계속 읽을 수 있도록 하기 위한 것입니다.
    private void ChangeTextColor(Color textColor) 
    {
    // Change color of text
    button1.ForeColor = textColor;
    button2.ForeColor = textColor;
    button3.ForeColor = textColor;
    label1.ForeColor = textColor;
    btnThemeSettings.ForeColor = textColor;
    }
  4. 디자이너에서 'Light' 버튼 컨트롤을 두 번 클릭합니다. 그러면 코드 숨김 파일이 열리고 사용자가 버튼을 클릭할 때 이벤트 처리기가 생성됩니다.
  5. 이벤트 핸들러 내에서 다음을 사용하십시오. 테마 변경() 그리고 텍스트 색상 변경() 기능. 테마가 사용하는 색상을 입력합니다. 'Light' 테마 사전에서 이러한 색상을 검색할 수 있습니다.
    private void btnLightTheme_Click(object sender, EventArgs e) 
    {
    ChangeTheme(Light[ThemeColor.Primary], Light[ThemeColor.Secondary], Light[ThemeColor.Tertiary]);
    ChangeTextColor(Light[ThemeColor.Text]);
    }
  6. 디자이너로 돌아가서 'Nature' 및 'Dark' 버튼을 클릭합니다. 사용 테마 변경() 그리고 텍스트 색상 변경() 이벤트 핸들러에서도 함수를 사용할 수 있습니다.
    private void btnNatureTheme_Click(object sender, EventArgs e) 
    {
    ChangeTheme(Nature[ThemeColor.Primary], Nature[ThemeColor.Secondary], Nature[ThemeColor.Tertiary]);
    ChangeTextColor(Nature[ThemeColor.Text]);
    }
    private void btnDarkTheme_Click(object sender, EventArgs e)
    {
    ChangeTheme(Dark[ThemeColor.Primary], Dark[ThemeColor.Secondary], Dark[ThemeColor.Tertiary]);
    ChangeTextColor(Dark[ThemeColor.Text]);
    }
  7. 기본적으로 테마는 사용자가 앱을 처음 열 때 'Light' 테마로 설정되어야 합니다. 생성자의 사전 아래에서 다음을 사용하십시오. 테마 변경() 그리고 텍스트 색상 변경() 기능.
    ChangeTheme(Light[ThemeColor.Primary], Light[ThemeColor.Secondary], Light[ThemeColor.Tertiary]); 
    ChangeTextColor(Light[ThemeColor.Text]);
  8. Visual Studio 창 상단에 있는 녹색 재생 버튼을 클릭하여 애플리케이션을 실행합니다.
  9. 기본적으로 응용 프로그램은 'Light' 테마를 사용하고 UI 컨트롤에 회색 색 구성표를 적용합니다. 테마 목록을 보려면 테마 버튼을 토글합니다.
  10. 자연 테마를 클릭합니다.
  11. 어두운 테마를 클릭합니다.

Windows Forms를 사용하여 응용 프로그램 만들기

많은 응용 프로그램에서 사용자가 여러 테마 간에 전환할 수 있습니다. 사용자가 선택할 수 있는 옵션을 만들어 Windows Forms 응용 프로그램에 테마를 추가할 수 있습니다.

사용자가 테마를 클릭하면 선택한 테마에 사용된 색상과 일치하도록 배경색, 텍스트 또는 기타 속성을 변경할 수 있습니다.





각 테마의 색상은 Visual Studio의 기본 제공 색상을 사용합니다. 사용자에게 더 나은 경험을 제공하려면 적절한 색 구성표를 사용해야 합니다. 앱의 색 구성표를 선택할 수 있는 다양한 방법에 대해 자세히 알아볼 수 있습니다.