Label을 이용한 MonthCalendar 출력

2017. 1. 26. 10:03C# 윈폼 ( Windows Forms )/MonthCalendar

1. MSDN

MonthCalendar 클래스


2. label을 이용한 MonthCalendar 출력 예제


   -1) 다음과 같이 GUI를 구성합니다.


   -2) Label의 클릭 이벤트명을 "lab_Click"으로 설정합니다.


   -3) 캘린더를 출력하기 위해 Label의 Top, Bottom으로 위치를 설정하였을 때 화면입니다.


   -4) 캘린더를 출력하기 위해 Label의 X, Y 좌표로 위치를 설정하였을 때 화면입니다.


   -5) 소스코드


namespace yuchae

{

    public partial class yuchae : Form

    {

        public yuchae()

        {

            InitializeComponent();

            //캘린더 비활성화

            monthCalendar1.Visible = false;

        }


        private void lab_Click(object sender, EventArgs e)

        {

            if (sender.Equals(lab_OneYearAgo))

            {

                //출력할 달력의 날자 초기화

                DateTime MonthCalendarDateTime = DateTime.Now.AddDays(-365);

                

                //x, y의 좌표로 달력 출력

                //monthCalendar1.Location = new Point(lab_OneYearAgo.Location.X, lab_OneYearAgo.Location.Y);

                //Top, Left 설정으로 달력 출력

                monthCalendar1.Top = lab_OneYearAgo.Bottom;

                monthCalendar1.Left = lab_OneYearAgo.Left;


                //monthCalendar1에 값 셋팅

                monthCalendar1.SetDate(MonthCalendarDateTime);


                //캘린더 활성화

                monthCalendar1.Visible = true;

                lab_Producer.Text = "앙큼한유채 : 1년 전 오늘입니다.";

            }

            else if (sender.Equals(lab_Now))

            {

                //출력할 달력의 날자 초기화

                DateTime MonthCalendarDateTime = DateTime.Now;


                //x, y의 좌표로 달력 출력

                //monthCalendar1.Location = new Point(lab_OneYearAgo.Location.X, lab_OneYearAgo.Location.Y);

                //Top, Left 설정으로 달력 출력

                monthCalendar1.Top = lab_OneYearAgo.Bottom;

                monthCalendar1.Left = lab_OneYearAgo.Left;


                //monthCalendar1에 값 셋팅

                monthCalendar1.SetDate(MonthCalendarDateTime);


                //캘린더 활성화

                monthCalendar1.Visible = true;

                lab_Producer.Text = "앙큼한유채 : 오늘입니다.";

            }

            else if (sender.Equals(lab_OneYearALate))

            {

                //출력할 달력의 날자 초기화

                DateTime MonthCalendarDateTime = DateTime.Now.AddDays(365);


                //x, y의 좌표로 달력 출력

                //monthCalendar1.Location = new Point(lab_OneYearAgo.Location.X, lab_OneYearAgo.Location.Y);

                //Top, Left 설정으로 달력 출력

                monthCalendar1.Top = lab_OneYearAgo.Bottom;

                monthCalendar1.Left = lab_OneYearAgo.Left;


                //monthCalendar1에 값 셋팅

                monthCalendar1.SetDate(MonthCalendarDateTime);


                //캘린더 활성화

                monthCalendar1.Visible = true;

                lab_Producer.Text = "앙큼한유채 : 1년 후 오늘입니다.";

            }

        }

    }

}

 


   -6) 결과화면

- 1년 전 클릭 시 출력화면 -


- 오늘 클릭 시 출력화면 -


- 1년 후 클릭 시 출력화면 -