Home Full Site
MonthCalendar 컨트롤

MonthCalendar 컨트롤은 날짜 범위 혹은 날짜를 선택할 수 있게 하는 컨트롤이다. 월별 달력을 보여주고 사용자가 날짜 하나를 선택하거나 Shift키를 눌러 날짜 범위를 선택하면, SelectionStart와 SelectionEnd 속성이 셋팅된다. 범위 지정은 시작날짜를 먼저 선택한 후, Shift키를 누른 후 종료날짜를 선택하면 된다.


MonthCalendar 컨트롤


MonthCalendar 컨트롤 사용

MonthCalendar 컨트롤의 디폴트 날짜 선택범위는 7일로 지정되어 있다. 즉, 7일을 넘게 범위를 정하더라도 종료날짜가 시작일자+7일까지로 자동 셋팅된다. 이를 늘려주기 위해서는 MaxSelectionCount 속성을 늘려주면 된다. 사용자가 날짜를 변경할 때마다 DateChanged 이벤트가 발생한다. 이 이벤트 핸들러를 통해 변경된 날짜 선택 데이타를 이용할 수 있다. 아래 예제는 날짜 범위를 최대 31일까지 지정할 수 있게 하며, 날짜가 변경될 때마다 텍스트 박스 데이타를 변경하는 예이다.

예제

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }

    private void Form1_Load(object sender, EventArgs e)
    {
        // 초기 선택 범위 지정
        monthCalendar1.SelectionStart = DateTime.Now;
        monthCalendar1.SelectionEnd = DateTime.Now.AddDays(3);

        // MaxSelectionCount 디폴트 값은 7일            
        monthCalendar1.MaxSelectionCount = 31;
    }

    private void monthCalendar1_DateChanged(object sender,
                 DateRangeEventArgs e)
    {
        // 사용자 캘린더 날짜 변경하면 텍스트 박스 내용 변경
        txtStartDate.Text = monthCalendar1.SelectionStart.ToShortDateString();
        txtEndDate.Text = monthCalendar1.SelectionEnd.ToShortDateString();            
    }
}



© csharpstudy.com