/// <summary> /// 次のToDoを検索する /// </summary> public ToDoData SearchNextToDo(DateTime nowDateTime) { int maxList = this.todoList.Count; ToDoData td; for (int i = 0; i < maxList; i++) { td = ToDoData.GetToDoDataSet(todoList[i]); string destDateTimeStr = string.Format("{0}/{1}/{2} {3}:{4}:00", td.GetToDoYear(), td.GetToDoMonth(), td.GetToDoDay(), td.GetToDoHour(), td.GetToDoMinute() ); DateTime destDateTime = Convert.ToDateTime(destDateTimeStr); if (nowDateTime < destDateTime) { // 通知済みなら次のToDoをセットする if (this.isNotified) { this.dtNext = destDateTime; this.nextTodoStr = td.GetToDoDetail(); this.isNotified = false; } // 次のToDoを返す return(td); } } // 該当ToDoがない時はnullを返す return(null); }
/// <summary> /// リスト項目を選択したときの処理 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void checkedListBoxToDoList_SelectedIndexChanged(object sender, EventArgs e) { // 選択しているToDoを文字列として取得 int index = this.checkedListBoxToDoList.SelectedIndex; if (index < 0) { index = 0; } string selectedToDo = this.checkedListBoxToDoList.Items[index].ToString(); this.exToDo = selectedToDo; // 入力欄に反映 ToDoData td = ToDoData.GetToDoDataSet(selectedToDo); // 年月日 string dateStr = string.Format("{0,0:D4}/{1,0:D2}/{2,0:D2}", td.GetToDoYear(), td.GetToDoMonth(), td.GetToDoDay()); DateTime dtDate = Convert.ToDateTime(dateStr); this.dateTimePickerToDoDate.Value = dtDate; // 時刻 string timeStr = string.Format("{0,0:D2}:{1,0:D2}:00", td.GetToDoHour(), td.GetToDoMinute()); DateTime dtTime = Convert.ToDateTime(timeStr); this.dateTimePickerToDoTime.Value = dtTime; // ToDo詳細 this.textBoxToDoDetail.Text = td.GetToDoDetail(); return; }