방법: Windows Forms MonthCalendar 컨트롤의 모양 변경

Windows Forms MonthCalendar 컨트롤을 사용하면 여러 가지 방법으로 일정의 모양을 사용자 지정할 수 있습니다. 예를 들어 색 구성표를 설정하고 주 수와 현재 날짜를 표시하거나 숨기도록 선택할 수 있습니다.

월 일정의 색 구성표를 변경하려면

  • TitleBackColor, TitleForeColorTrailingForeColor 등의 속성을 설정합니다. TitleBackColor 속성은 요일의 글꼴 색도 결정합니다. TrailingForeColor 속성은 표시된 월의 앞과 뒤에 오는 날짜의 색을 결정합니다.

    MonthCalendar1.TitleBackColor = System.Drawing.Color.Blue  
    MonthCalendar1.TrailingForeColor = System.Drawing.Color.Red  
    MonthCalendar1.TitleForeColor = System.Drawing.Color.Yellow  
    
    monthCalendar1.TitleBackColor = System.Drawing.Color.Blue;  
    monthCalendar1.TrailingForeColor = System.Drawing.Color.Red;  
    monthCalendar1.TitleForeColor = System.Drawing.Color.Yellow;  
    
    monthCalendar1->TitleBackColor = System::Drawing::Color::Blue;  
    monthCalendar1->TrailingForeColor = System::Drawing::Color::Red;  
    monthCalendar1->TitleForeColor = System::Drawing::Color::Yellow;  
    

    참고

    Windows Vista부터 테마에 따라 일부 속성을 설정해도 일정 모양이 변경되지 않을 수 있습니다. 예를 들어 Windows Aero 테마를 사용하도록 설정된 경우, BackColor, TitleBackColor, TitleForeColor 또는 TrailingForeColor 속성을 설정해도 아무런 효과가 없습니다. 그 이유는 런타임에 현재 운영 체제 테마에서 파생된 모양으로 일정의 업데이트된 버전이 렌더링되기 때문입니다. 이러한 속성을 사용하고 일정의 이전 버전을 활성화하려면 애플리케이션에 대한 시각적 스타일을 비활성화할 수 있습니다. 비주얼 스타일을 사용 하지 않도록 설정 하면 애플리케이션에서 다른 컨트롤의 동작과 모양을 달라질 수 있습니다. Visual Basic에서 시각적 스타일을 사용하지 않도록 설정하려면 프로젝트 디자이너를 열고 XP 시각적 스타일 사용 확인란의 선택을 취소합니다. C#에서 시각적 스타일을 사용하지 않도록 설정하려면 Program.cs를 열고 Application.EnableVisualStyles();을 주석으로 처리합니다. 시각적 스타일에 대한 자세한 내용은 시각적 스타일 사용을 참조하세요.

컨트롤 맨 아래에 현재 날짜를 표시하려면

  • ShowToday 속성을 true로 설정합니다. 아래 예제에서는 양식을 두 번 클릭할 때 오늘 날짜 표시 및 생략 사이에서 전환됩니다.

    Private Sub Form1_DoubleClick(ByVal sender As Object, _  
    ByVal e As System.EventArgs) Handles MyBase.DoubleClick  
       ' Toggle between True and False.  
       MonthCalendar1.ShowToday = Not MonthCalendar1.ShowToday  
    End Sub  
    
    private void Form1_DoubleClick(object sender, System.EventArgs e)  
    {  
       // Toggle between True and False.  
       monthCalendar1.ShowToday = !monthCalendar1.ShowToday;  
    }  
    
    private:  
       System::Void Form1_DoubleClick(System::Object ^  sender,  
          System::EventArgs ^  e)  
       {  
          // Toggle between True and False.  
          monthCalendar1->ShowToday = !monthCalendar1->ShowToday;  
       }  
    

    (Visual C#, Visual C++) 양식 생성자에 다음 코드를 추가하여 이벤트 처리기를 등록합니다.

    this.DoubleClick += new System.EventHandler(this.Form1_DoubleClick);  
    
    this->DoubleClick += gcnew System::EventHandler(this,  
       &Form1::Form1_DoubleClick);  
    

주 수를 표시하려면

  • ShowWeekNumbers 속성을 true로 설정합니다. 코드 또는 속성 창에서 이 속성을 설정할 수 있습니다.

    주 수는 주의 첫째 요일 왼쪽에 있는 별도의 열에 표시됩니다.

    MonthCalendar1.ShowWeekNumbers = True  
    
    monthCalendar1.ShowWeekNumbers = true;  
    
    monthCalendar1->ShowWeekNumbers = true;  
    

참고 항목