/// <summary>
        /// [프로그램 사용 이력][조회] 버튼 클릭.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnInquiryProgramHistory_Click(object sender, EventArgs e)
        {
            this.lvProgramHistoryList.Items.Clear();

            int      year  = this.dtmPickerProgramDurtionStart.Value.Year;
            int      month = this.dtmPickerProgramDurtionStart.Value.Month;
            int      day   = this.dtmPickerProgramDurtionStart.Value.Day;
            int      hour  = this.dtmPickerProgramDurtionStart.Value.Hour;
            DateTime start = new DateTime(year, month, day, hour, 00, 00);

            year  = this.dtmPickerProgramDurtionEnd.Value.Year;
            month = this.dtmPickerProgramDurtionEnd.Value.Month;
            day   = this.dtmPickerProgramDurtionEnd.Value.Day;
            hour  = this.dtmPickerProgramDurtionEnd.Value.Hour;
            DateTime end = new DateTime(year, month, day, hour, 00, 00);

            end = end.AddHours(1).AddMilliseconds(-1);

            if (start.Ticks > end.Ticks)
            {
                MessageBox.Show("검색 기간 설정이 올바르지 않습니다. 종료일이 시작일보다 빠릅니다. \n날짜를 바르게 입력해 주세요.", "입력 날짜 오류", MessageBoxButtons.OK);

                this.dtmPickerProgramDurtionEnd.Focus();
                return;
            }

            List <Log> logList = EventLogManager.GetInstance().ReadLog(start, end);

            if (logList == null | logList.Count() < 1)
            {
                MessageBox.Show("해당 조건의 프로그램 사용 이력이 존재하지 않습니다.", "프로그램 사용 이력 조회 결과", MessageBoxButtons.OK);

                return;
            }

            UpdateProgramHistoryList(logList);
        }