How to: Change the Windows Forms MonthCalendar Control's Appearance
The Windows Forms MonthCalendar control allows you to customize the calendar's appearance in many ways. For example, you can set the color scheme and choose to display or hide week numbers and the current date.
To change the month calendar's color scheme
Set properties such as TitleBackColor, TitleForeColor and TrailingForeColor. The TitleBackColor property also determines the font color for the days of the week. The TrailingForeColor property determines the color of the dates that precede and follow the displayed month or months.
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.set_TitleBackColor(System.Drawing.Color.get_Blue()); monthCalendar1.set_TrailingForeColor(System.Drawing.Color.get_Red()); monthCalendar1.set_TitleForeColor(System.Drawing.Color.get_Yellow());
monthCalendar1->TitleBackColor = System::Drawing::Color::Blue; monthCalendar1->TrailingForeColor = System::Drawing::Color::Red; monthCalendar1->TitleForeColor = System::Drawing::Color::Yellow;
To display the current date at the bottom of the control
Set the ShowToday property to true. The example below toggles between displaying and omitting today's date when the form is double-clicked.
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 void Form1_DoubleClick(System.Object sender, System.EventArgs e) { // Toggle between True and False. monthCalendar1.set_ShowToday(!monthCalendar1.get_ShowToday()); } //Form1_DoubleClick
private: System::Void Form1_DoubleClick(System::Object ^ sender, System::EventArgs ^ e) { // Toggle between True and False. monthCalendar1->ShowToday = !monthCalendar1->ShowToday; }
(Visual C#, Visual C++) Place the following code in the form's constructor to register the event handler.
this.DoubleClick += new System.EventHandler(this.Form1_DoubleClick);
this->DoubleClick += gcnew System::EventHandler(this, &Form1::Form1_DoubleClick);
To display week numbers
Set the ShowWeekNumbers property to true. You can set this property either in code or in the Properties window.
Week numbers appear in a separate column to the left of the first day of the week.
MonthCalendar1.ShowWeekNumbers = True
monthCalendar1.ShowWeekNumbers = true;
monthCalendar1.set_ShowWeekNumbers(true);
monthCalendar1->ShowWeekNumbers = true;
See Also
Tasks
How to: Select a Range of Dates in the Windows Forms MonthCalendar Control
How to: Display Specific Days in Bold with the Windows Forms MonthCalendar Control
How to: Display More than One Month in the Windows Forms MonthCalendar Control