Beispiel #1
0
        private Point GetLocationForButton(DateTime day, DayInCalendarForm form)
        {
            //американская неделя начинается с воскресенья. Поэтому сдвигаем в конец.
            int x = day.DayOfWeek == DayOfWeek.Sunday ? 7 : (int)day.DayOfWeek;

            x--;
            int weekDelta = 7 - x;      //когда месяц начинается не с понедельника

            int y = (day.Day + weekDelta) / 7;

            return(new Point(x * (form.Width + 5), y * (form.Height + 5)));
        }
Beispiel #2
0
        private void Fill(List <DayInCalendar> days)
        {
            //заполнить таблицу днями недели из List'а
            //в листе должны быть даты только из текущего месяца
            for (int i = 0; i < days.Count; i++)
            {
                DayInCalendar day = days[i];

                DayInCalendarForm form = new DayInCalendarForm(day);
                mainPanel.Controls.Add(form);

                form.Location = GetLocationForButton(day.date, form);
            }
        }