The MonthCalendar control allows selecting date at run time.

How to use MonthCalendar Control

Drag and drop MonthCalendar Control and Label from toolbox on the window Form.

MonthCalendar Control in C#.Net


Write code in DateChanged event

MonthCalendar Control in C#.Net


Double click on DateChanged event and assign the value of manth date in label

private void monthCalendar1_DateChanged(object sender,  DateRangeEventArgs e)
            //show the selected in Label
        label1.Text = monthCalendar1.SelectionStart.ToLongDateString();




SelectionRange - Determines the selected range of dates for a month calendar control.

SelectionStart - Determines the start date of the selected range of dates.

ToLongtDateString();  will show date in long format

Run the project

MonthCalendar Control in C#.Net

When you select the date in the calendar then DateChanged event will fire and selected date will show in the Label.

MonthCalendar Control in C#.Net

Properties of MonthCalendar Control

FirstDayOfWeek: Default value is Sunday. It means week starts with Sunday as the first day and Saturday as last. You can set the first day of the week depending upon your choice by selecting from the predefined list with this property.

ShowTodayCircle: Default value is set to true which displays a circle on the current date. Setting it to False will make the circle disappear.

ShowWeekNumber: Default is False. Setting it to True will display the week number of the current week in the 52 week year. That will be displayed towards the left side of the control.

ShowToday: Default value is set to true which displays the current date at the bottom of the Calendar. When set it to False will hide current date.


private void frmMonthCalendar_Load(object sender,  EventArgs e)
            //Hide current date in side calendar
            monthCalendar1.ShowToday = false;

MonthCalendar Control in C#.Net

  Modified On Sep-07-2019 12:11:54 AM
  1. Hello, I am a new programmer and I need help with reading dates of a username from ms access into c# monthcalender.

    I have a table in ms access database that has a username and signIndate, and on windows form I have a textbox,button,and monthcalendar.When a user enters a username in a textbox and press a button, a date of the username entered which is from SignIndate should be highlighted in a monthcalendar.

    Please give me an example.



Leave Comment