날짜 표시: MonthCalendar 및 DateTimePicker 컨트롤 사용

업데이트: 2007년 11월

이 단원에서는 Windows Form에 날짜를 표시하는 방법과 사용자가 날짜를 선택할 때 특정 작업을 수행하는 방법을 배웁니다.

달력을 표시하는 컨트롤을 사용하면 사용자가 날짜를 손쉽게 선택할 수 있습니다. 이러한 컨트롤을 사용하면 날짜의 형식도 올바르게 지정됩니다. 달력은 MonthCalendar 컨트롤이나 DateTimePicker 컨트롤을 사용하여 표시할 수 있습니다.

MonthCalendar 컨트롤을 사용하면 하나 이상의 월이 있는 달력을 표시할 수 있습니다. 이 컨트롤을 사용하면 특정 날짜 또는 날짜 범위를 선택할 수 있습니다.

DateTimePicker 컨트롤은 다음과 같은 두 가지 상태를 갖습니다. 기본적으로 DateTimePicker 컨트롤은 드롭다운 화살표가 있는 텍스트 상자로 표시됩니다. 드롭다운 화살표를 클릭하면 달력이 나타납니다. 이 컨트롤을 사용하면 사용자가 특정 날짜만 선택할 수 있습니다. DateTimePicker 컨트롤을 사용하면 날짜 대신 시간을 표시할 수도 있습니다.

이러한 컨트롤에서 날짜를 검색하는 데 사용되는 프로세스는 사용되는 컨트롤에 따라 달라집니다. MonthCalendar 컨트롤에는 Start 속성을 사용하고 DateTimePicker 컨트롤에는 Value 속성을 사용합니다.

실습

날짜를 검색하여 레이블에 표시하려면

  1. 파일 메뉴에서 새 프로젝트를 클릭합니다.

    새 프로젝트 대화 상자가 나타납니다.

  2. Windows Forms 응용 프로그램, 확인을 차례로 클릭합니다.

  3. 폼에 Label 컨트롤을 추가하고 기본 이름 Label1을 그대로 적용합니다.

  4. Label 컨트롤의 Text 속성에서 텍스트를 제거합니다.

  5. 폼에 MonthCalendar 컨트롤을 추가하고 기본 이름 MonthCalendar1을 그대로 적용합니다.

  6. MonthCalendar 컨트롤을 두 번 클릭하여 코드 편집기에 기본 이벤트 처리기를 입력합니다.

  7. MonthCalendar1_DateChanged 이벤트 처리기에서 다음 코드를 추가하여 목록에 항목을 추가합니다.

    Me.Label1.Text = CStr(Me.MonthCalendar1.SelectionRange.Start)
    
  8. 디자이너 뷰로 돌아가서 폼에 DateTimePicker 컨트롤을 추가하고 기본 이름 DateTimePicker1을 그대로 적용합니다.

  9. DateTimePicker 컨트롤을 두 번 클릭하여 코드 편집기에 기본 이벤트 처리기를 입력합니다.

  10. DateTimePicker_ValueChanged 이벤트 처리기에서 다음 코드를 추가하여 목록에 항목을 추가합니다.

    Me.Label1.Text = CStr(Me.DateTimePicker1.Value)
    
  11. F5 키를 눌러 프로그램을 실행합니다.

  12. 폼이 나타나면 MonthCalendar 컨트롤에서 날짜를 클릭하고 해당 날짜가 레이블에 표시되는지 확인합니다.

  13. DateTimePicker 컨트롤의 드롭다운 화살표를 클릭하고 날짜를 선택합니다.

    날짜 및 시간이 레이블에 표시됩니다.

  14. 프로그램을 종료합니다.

여러 날짜 검색

SelectionRangeStartEnd 속성을 사용하여 MonthCalendar 컨트롤에서 선택한 날짜 범위를 검색할 수 있습니다. 기본적으로 선택할 수 있는 최대 일 수는 7일이지만 MaxSelectionCount 속성을 설정하여 최대 일 수를 변경할 수 있습니다. 시작 날짜와 종료 날짜가 같은지 여부를 검사하여 범위가 선택되어 있는지 확인할 수 있습니다.

MonthCalendar 컨트롤에서 날짜 범위를 검색하려면

  1. MonthCalendar1_DateChanged 이벤트 처리기의 코드를 다음 코드로 변경합니다. 이 코드는 컨트롤에서 선택할 수 있는 최대 일 수(2주)를 설정합니다. MonthCalendar 컨트롤에서 날짜를 하나만 선택하면 레이블에 시작 날짜가 표시되지만 범위를 선택하면 날짜 범위가 표시됩니다.

    Me.MonthCalendar1.MaxSelectionCount = 14
    
    If Me.MonthCalendar1.SelectionRange.Start = _
        Me.MonthCalendar1.SelectionRange.End Then
    
        Me.Label1.Text = CStr(Me.MonthCalendar1.SelectionStart)
    
    Else
    
        Me.Label1.Text = Me.MonthCalendar1.SelectionRange.Start & _
            " - " & Me.MonthCalendar1.SelectionRange.End
    
    End If
    
  2. F5 키를 눌러 프로그램을 실행합니다.

  3. 폼이 나타나면 MonthCalendar 컨트롤에서 날짜 범위를 선택하고 해당 날짜 범위가 레이블에 나타나는지 확인합니다.

  4. 프로그램을 종료합니다.

날짜 형식 지정

FormatDateTime 함수를 사용하여 MonthCalendar 컨트롤 및 DateTimePicker 컨트롤에서 반환되는 날짜의 형식을 지정할 수 있습니다. 날짜의 형식을 나타내는 데 사용할 수 있는 상수는 다음과 같습니다.

상수

설명

예(기본값인 미국 영어의 국가별 설정 기준)

DateFormat.GeneralDate

날짜, 시간 또는 둘 모두를 표시합니다. 날짜 부분은 간단한 날짜 형식으로 표시하고 시간 부분은 자세한 시간 형식으로 표시합니다. 날짜와 시간이 모두 있으면 둘 다 표시됩니다.

11/22/1963 12:00:00 PM

DateFormat.LongDate

컴퓨터의 국가별 설정에 지정된 자세한 날짜 형식으로 날짜를 표시합니다.

Friday, November 22, 1963

DateFormat.ShortDate

컴퓨터의 국가별 설정에 지정된 간단한 날짜 형식으로 날짜를 표시합니다.

11/22/1963

DateFormat.LongTime

컴퓨터의 국가별 설정에 지정된 자세한 시간 형식으로 시간을 표시합니다.

12:00:00 PM

DateFormat.ShortTime

24시간 형식(hh:mm)으로 시간을 표시합니다.

12:00

레이블에 있는 날짜의 형식을 지정하려면

  1. MonthCalendar1_DateChanged 이벤트 처리기의 코드를 다음 코드로 변경합니다. 이 코드는 반환되는 날짜를 자세한 날짜 형식으로 지정합니다.

    Me.MonthCalendar1.MaxSelectionCount = 14
    
    If Me.MonthCalendar1.SelectionRange.Start = _
        Me.MonthCalendar1.SelectionRange.End Then
    
        Me.Label1.Text = FormatDateTime( _
            Me.MonthCalendar1.SelectionStart, _
            DateFormat.LongDate)
    Else
        Me.Label1.Text = FormatDateTime( _
            Me.MonthCalendar1.SelectionRange.Start, _
            DateFormat.LongDate) & " - " & FormatDateTime( _
            Me.MonthCalendar1.SelectionRange.End, DateFormat.LongDate)
    End If
    
  2. DatePicker1_ValueChanged 이벤트 처리기의 코드를 다음 코드로 변경합니다. 이 코드는 반환되는 날짜를 자세한 날짜 형식으로 지정합니다.

    Me.Label1.Text = FormatDateTime(Me.DateTimePicker1.Value, _
        DateFormat.LongDate)
    
  3. F5 키를 눌러 프로그램을 실행합니다.

  4. 폼이 나타나면 MonthCalendar 컨트롤에서 특정 날짜 또는 날짜 범위를 클릭하고 레이블에 해당 날짜 또는 날짜 범위가 자세한 날짜 형식으로 나타나는지 확인합니다.

  5. DateTimePicker 컨트롤의 날짜를 클릭하고 레이블에 해당 날짜가 자세한 날짜 형식으로 나타나는지 확인합니다.

  6. 프로그램을 종료합니다.

다음 단계

이 단원에서는 MonthCalendarDateTimePicker 컨트롤에서 선택한 날짜를 검색하여 Windows Form에 표시하는 방법을 배웠습니다. 또한 날짜 범위를 표시하는 방법과 검색된 날짜의 형식을 지정하는 방법을 배웠습니다. 다음 단원에서는 데이터 컨트롤을 사용하는 방법을 배웁니다.

다음 단원: 데이터 컨트롤: DataGridView 컨트롤에 데이터 표시

참고 항목

참조

DateTimePicker 컨트롤 개요(Windows Forms)

MonthCalendar 컨트롤 개요(Windows Forms)

FormatDateTime 함수(Visual Basic)

기타 리소스

프로그램의 모양 만들기: Windows Forms 소개