Exemple #1
0
        private void UpdateMonths()
        {
            var gapping    = 2;
            var calendarsX =
                Convert.ToInt32(Math.Max(Math.Floor((double)ClientSize.Width / (double)(MonthSize.Width + gapping)),
                                         1.0));
            var calendarsY =
                Convert.ToInt32(Math.Max(
                                    Math.Floor((double)ClientSize.Height / (double)(MonthSize.Height + gapping)), 1.0));
            var calendars    = calendarsX * calendarsY;
            var monthsWidth  = (calendarsX * MonthSize.Width) + (calendarsX - 1) * gapping;
            var monthsHeight = (calendarsY * MonthSize.Height) + (calendarsY - 1) * gapping;
            var startX       = (ClientSize.Width - monthsWidth) / 2;
            var startY       = (ClientSize.Height - monthsHeight) / 2;
            var curX         = startX;
            var curY         = startY;

            _forwardMonthIndex = calendarsX - 1;

            _months = new MonthViewMonth[calendars];

            for (var i = 0; i < Months.Length; i++)
            {
                Months[i] = new MonthViewMonth(this, ViewStart.AddMonths(i));
                Months[i].SetLocation(new Point(curX, curY));

                curX += gapping + MonthSize.Width;

                if ((i + 1) % calendarsX == 0)
                {
                    curX  = startX;
                    curY += gapping + MonthSize.Height;
                }
            }

            var first = Months[0];
            var last  = Months[_forwardMonthIndex];

            SetBackwardButtonBounds(new Rectangle(first.Bounds.Left + ItemPadding.Left,
                                                  first.Bounds.Top + ItemPadding.Top, DaySize.Height - ItemPadding.Horizontal,
                                                  DaySize.Height - ItemPadding.Vertical));
            SetForwardButtonBounds(new Rectangle(first.Bounds.Right - ItemPadding.Right - BackwardButtonBounds.Width,
                                                 first.Bounds.Top + ItemPadding.Top, BackwardButtonBounds.Width, BackwardButtonBounds.Height));
        }
Exemple #2
0
 /// <summary>
 /// Moves the view one month backward
 /// </summary>
 public void GoBackward()
 {
     ViewStart = ViewStart.AddMonths(-1);
 }
Exemple #3
0
 /// <summary>
 /// Moves the view one month forward
 /// </summary>
 public void GoForward()
 {
     ViewStart = ViewStart.AddMonths(1);
 }