// ヘッダ作成 public IList <string> GetCalendarHeaders(DayLayout dl) { var headers = new List <string>(); switch (dl) { case DayLayout.Wide: headers.Add($" {Year,4}-{MonthNo,2} "); headers.Add(" Su Mo Tu We Th Fr Sa "); break; case DayLayout.Narrow: headers.Add($" {Year,4}-{MonthNo,2} "); headers.Add(" Su Mo Tu We Th Fr Sa"); break; } return(headers); }
// 日数行 public IList <string> GetCalendarStrings(DayLayout dl) { var week = 0; var linenum = CalendarLineNum; var calendarString = new List <string>(); var day = 1 - ( int )FirstDayOfWeek; for (week = 0; week < linenum; week++) { var weekString = new StringBuilder(); var lastDay = Math.Min(LastDay + 1, day + 7); var weekStartDay = day; switch (dl) { case DayLayout.Wide: for ( ; day <= 0; day++) { weekString.Append(" "); } for ( ; day < lastDay; day++) { if (TodayIsInThisMonth && day == Today.Day) { weekString.AppendFormat(">{0,2}<", day); } else { weekString.AppendFormat(" {0,2} ", day); } } if (day < weekStartDay + 7) { for ( ; day < weekStartDay + 7; day++) { weekString.Append(" "); } } break; case DayLayout.Narrow: for ( ; day <= 0; day++) { weekString.Append(" "); } for ( ; day < lastDay; day++) { if (TodayIsInThisMonth && day == Today.Day) { weekString.AppendFormat(">{0,2}", day); } else { weekString.AppendFormat(" {0,2}", day); } } if (day < weekStartDay + 7) { for ( ; day < weekStartDay + 7; day++) { weekString.Append(" "); } } break; } calendarString.Add(weekString.ToString()); } return(calendarString); }