예제 #1
0
        //	ヘッダ作成
        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);
        }
예제 #2
0
        //	日数行
        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);
        }