internal MonthViewMonth(MonthView monthView, DateTime date) { if (date.Day != 1) { date = new DateTime(date.Year, date.Month, 1); } _monthview = monthView; _date = date; int preDays = (new int[] { 0, 1, 2, 3, 4, 5, 6 })[(int)date.DayOfWeek] - (int)MonthView.FirstDayOfWeek; days = new MonthViewDay[6 * 7]; DateTime curDate = date.AddDays(-preDays); DayHeaders = new string[7]; for (int i = 0; i < days.Length; i++) { days[i] = new MonthViewDay(this, curDate); if (i < 7) { DayHeaders[i] = curDate.ToString(MonthView.DayNamesFormat).Substring(0, MonthView.DayNamesLength); } curDate = curDate.AddDays(1); } }
internal MonthViewDay(MonthViewMonth month, DateTime date) { _month = month; _monthView = month.MonthView; _date = date; }