/// <summary> /// 描画対象の日付が変更された時に呼び出されます /// </summary> /// <param name="e"></param> public virtual void OnChangeDrawDate(ChangeDateEventArgs e) { // クライアント領域を無効化し、再描画処理を行う if (e.OldDate.Year != DrawYear || e.OldDate.Month != DrawMonth) { ExtractMonthSchedules(DrawYear, DrawMonth); this.Invalidate(); } if (ChangeDrawDate != null) { ChangeDrawDate(this, e); } }
/// <summary> /// 選択される日付が変更された時に呼び出されます /// </summary> /// <param name="e"></param> public virtual void OnChangeDate(ChangeDateEventArgs e) { // クライアント領域を無効化し、再描画処理を行う if (e.OldDate.Year != year || e.OldDate.Month != month) { this.Invalidate(); } else { // カレンダーの年・月が変わらなければ再描画領域を最小限にする this.Invalidate(Rectangle.Ceiling(GetDateRect(e.OldDate, this.ClientRectangle))); this.Invalidate(Rectangle.Ceiling(GetDateRect(new DateTime(Year, Month, Day), this.ClientRectangle))); } if (ChangeDate != null) { ChangeDate(this, e); } }