방법: Windows Forms MonthCalendar 컨트롤의 모양 변경
Windows Forms MonthCalendar 컨트롤을 사용하면 여러 가지 방법으로 일정의 모양을 사용자 지정할 수 있습니다. 예를 들어 색 구성표를 설정하고 주 수와 현재 날짜를 표시하거나 숨기도록 선택할 수 있습니다.
월 일정의 색 구성표를 변경하려면
TitleBackColor, TitleForeColor 및 TrailingForeColor 등의 속성을 설정합니다. 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);
주 수를 표시하려면
ShowToday 속성을
true
로 설정합니다. 코드 또는 속성 창에서 이 속성을 설정할 수 있습니다.주 수는 주의 첫째 요일 왼쪽에 있는 별도의 열에 표시됩니다.
MonthCalendar1.ShowWeekNumbers = True
monthCalendar1.ShowWeekNumbers = true;
monthCalendar1->ShowWeekNumbers = true;
참고 항목
.NET Desktop feedback