private async Task InvokeButtonStateEvent(MouseEventArgs mouseEventArgs, EventCallback callback, HeaderButtonState buttonState) { HeaderButtonState selected = null; foreach (var state in HeaderButtonConfigs) { state.ButtonColor = state == buttonState ? Color.Secondary : Color.Primary; state.Active = state == buttonState; if (state == buttonState) { selected = state; state.Loading = true; } } selected.Loading = true; await callback.InvokeAsync(mouseEventArgs); selected.Loading = false; }
/// <summary> /// Initializes a new instance of the <see cref="NuGenHeader"/> class. /// </summary> /// <param name="calendar"></param> /// <param name="serviceProvider"> /// <para>Requires:</para> /// <para><see cref="INuGenCalendarRenderer"/></para> /// </param> /// <exception cref="ArgumentNullException"> /// <para> /// <paramref name="calendar"/> is <see langword="null"/>. /// </para> /// -or- /// <para> /// <paramref name="serviceProvider"/> is <see langword="null"/>. /// </para> /// </exception> public NuGenHeader(NuGenCalendar calendar, INuGenServiceProvider serviceProvider) { if (calendar == null) { throw new ArgumentNullException("calendar"); } if (serviceProvider == null) { throw new ArgumentNullException("serviceProvider"); } _calendar = calendar; _serviceProvider = serviceProvider; _backColor1 = Color.FromArgb(0, 84, 227); _backColor2 = Color.White; _gradientMode = NuGenGradientMode.None; _textColor = Color.White; _font = new Font("Microsoft Sans Serif", (float)8.25, FontStyle.Bold); _showMonth = true; _monthSelector = true; _text = ""; _contextMenu = true; _align = StringAlignment.Center; _prevBtnState = HeaderButtonState.Normal; _nextBtnState = HeaderButtonState.Normal; _prevYearBtnState = HeaderButtonState.Normal; _nextYearBtnState = HeaderButtonState.Normal; // create monthContext menu and setup event handlers for (int k = 0; k < 12; k++) { _monthMenu.MenuItems.Add(_monthMenu.MenuItems.Count, new MenuItem("")); _monthMenu.MenuItems[_monthMenu.MenuItems.Count - 1].Click += new EventHandler(MonthContextMenu_Click); } Setup(); }
internal void MouseUp() { // if mouse button is released no button should be pushed if (_prevBtnState != HeaderButtonState.Inactive) { _prevBtnState = HeaderButtonState.Normal; } if (_nextBtnState != HeaderButtonState.Inactive) { _nextBtnState = HeaderButtonState.Normal; } if (_prevYearBtnState != HeaderButtonState.Inactive) { _prevYearBtnState = HeaderButtonState.Normal; } if (_nextYearBtnState != HeaderButtonState.Inactive) { _nextYearBtnState = HeaderButtonState.Normal; } _calendar.Invalidate(); }
private void DrawButton(Graphics g, HeaderButtonState state, HeaderButtons button, Rectangle bounds) { NuGenControlState currentState = NuGenControlState.Normal; if (_calendar.Enabled) { if (state == HeaderButtonState.Hot) { currentState = NuGenControlState.Hot; } else if (state == HeaderButtonState.Inactive) { currentState = NuGenControlState.Disabled; } else if (state == HeaderButtonState.Pushed) { currentState = NuGenControlState.Pressed; } } else { currentState = NuGenControlState.Disabled; } NuGenPaintParams paintParams = new NuGenPaintParams(g); paintParams.Bounds = bounds; paintParams.State = currentState; this.Renderer.DrawBackground(paintParams); this.Renderer.DrawBorder(paintParams); Image buttonImage; switch (button) { case HeaderButtons.NextYear: { buttonImage = this.Renderer.GetNextYearImage(); break; } case HeaderButtons.NextMonth: { buttonImage = this.Renderer.GetNextMonthImage(); break; } case HeaderButtons.PreviousYear: { buttonImage = this.Renderer.GetPreviousYearImage(); break; } default: { buttonImage = this.Renderer.GetPreviousMonthImage(); break; } } Debug.Assert(buttonImage != null, "buttonImage != null"); NuGenImagePaintParams imagePaintParams = new NuGenImagePaintParams(paintParams); imagePaintParams.Image = buttonImage; Size imageSize = buttonImage.Size; imagePaintParams.Bounds = new Rectangle( bounds.Left + (bounds.Width - imageSize.Width) / 2 , bounds.Top + (bounds.Height - imageSize.Height) / 2 , imageSize.Width , imageSize.Height ); this.Renderer.DrawImage(imagePaintParams); }
internal void Draw(Graphics e) { StringFormat textFormat = new StringFormat(); Brush textBrush = new SolidBrush(TextColor); Brush bgBrush = new SolidBrush(BackColor1); string minMonth; string maxMonth; string currentMonth; string month; textFormat.LineAlignment = StringAlignment.Center; textFormat.Alignment = _align; if (_gradientMode != NuGenGradientMode.None) { _calendar.DrawGradient(e, _rect, BackColor1, BackColor2, _gradientMode); } else { e.FillRectangle(bgBrush, _rect); } if (_monthSelector) { currentMonth = _calendar.Month.SelectedMonth.Year.ToString() + "-" + _calendar.Month.SelectedMonth.Month.ToString(); minMonth = _calendar.MinDate.Year.ToString() + "-" + _calendar.MinDate.Month.ToString(); maxMonth = _calendar.MaxDate.Year.ToString() + "-" + _calendar.MaxDate.Month.ToString(); if ((minMonth == currentMonth) && (_prevBtnState != HeaderButtonState.Pushed)) { _prevBtnState = HeaderButtonState.Inactive; } else if (_prevBtnState != HeaderButtonState.Pushed) { _prevBtnState = HeaderButtonState.Normal; } if ((maxMonth == currentMonth) && (_nextBtnState != HeaderButtonState.Pushed)) { _nextBtnState = HeaderButtonState.Inactive; } else if (_nextBtnState != HeaderButtonState.Pushed) { _nextBtnState = HeaderButtonState.Normal; } } if (_yearSelector) { currentMonth = _calendar.Month.SelectedMonth.Year.ToString() + "-" + _calendar.Month.SelectedMonth.Month.ToString() + "-01"; DateTime currentDate = DateTime.Parse(currentMonth); int days = DateTime.DaysInMonth(_calendar.MinDate.Year, _calendar.MinDate.Month); DateTime minDate = DateTime.Parse(_calendar.MinDate.Year.ToString() + "-" + _calendar.MinDate.Month.ToString() + "-" + days.ToString()); days = DateTime.DaysInMonth(_calendar.MaxDate.Year, _calendar.MaxDate.Month); DateTime maxDate = DateTime.Parse(_calendar.MaxDate.Year.ToString() + "-" + _calendar.MaxDate.Month.ToString() + "-" + days.ToString()); if ((DateTime.Compare(currentDate.AddYears(-1), minDate) < 0) && (_prevYearBtnState != HeaderButtonState.Pushed)) { _prevYearBtnState = HeaderButtonState.Inactive; } else if (_prevYearBtnState != HeaderButtonState.Pushed) { _prevYearBtnState = HeaderButtonState.Normal; } if ((DateTime.Compare(currentDate.AddYears(1), maxDate) > 0) && (_nextYearBtnState != HeaderButtonState.Pushed)) { _nextYearBtnState = HeaderButtonState.Inactive; } else if (_nextYearBtnState != HeaderButtonState.Pushed) { _nextYearBtnState = HeaderButtonState.Normal; } } if (_monthSelector) { DrawButton(e, _prevBtnState, HeaderButtons.PreviousMonth, _prevBtnRect); DrawButton(e, _nextBtnState, HeaderButtons.NextMonth, _nextBtnRect); } if (_yearSelector) { DrawButton(e, _prevYearBtnState, HeaderButtons.PreviousYear, _prevYearBtnRect); DrawButton(e, _nextYearBtnState, HeaderButtons.NextYear, _nextYearBtnRect); } month = _calendar._dateTimeFormat.GetMonthName(_calendar.Month.SelectedMonth.Month) + " " + _calendar.Month.SelectedMonth.Year.ToString(); if (ShowMonth) { e.DrawString(month, Font, textBrush, _textRect, textFormat); } else { e.DrawString(_text, Font, textBrush, _textRect, textFormat); } textBrush.Dispose(); bgBrush.Dispose(); }
internal void MouseMove(Point mouseLocation) { Region prevBtnRgn = new Region(_prevBtnRect); Region nextBtnRgn = new Region(_nextBtnRect); Region prevYearBtnRgn = new Region(_prevYearBtnRect); Region nextYearBtnRgn = new Region(_nextYearBtnRect); HeaderButtonState oldPrevMonthState = _prevBtnState; HeaderButtonState oldNextMonthState = _nextBtnState; HeaderButtonState oldPrevYearState = _prevYearBtnState; HeaderButtonState oldNextYearState = _nextYearBtnState; if (_monthSelector) { // If not within left scroll button, make sure its not pushed if (!prevBtnRgn.IsVisible(mouseLocation)) { if (_prevBtnState != HeaderButtonState.Inactive) { _prevBtnState = HeaderButtonState.Normal; } } else if (_prevBtnState != HeaderButtonState.Inactive) { _prevBtnState = HeaderButtonState.Hot; } if (oldPrevMonthState != _prevBtnState) { DrawButton(_calendar.CreateGraphics(), _prevBtnState, HeaderButtons.PreviousMonth, _prevBtnRect); } // If not within right scroll button, make sure its not pushed if (!nextBtnRgn.IsVisible(mouseLocation)) { if (_nextBtnState != HeaderButtonState.Inactive) { _nextBtnState = HeaderButtonState.Normal; } } else if (_nextBtnState != HeaderButtonState.Inactive) { _nextBtnState = HeaderButtonState.Hot; } if (oldNextMonthState != _nextBtnState) { DrawButton(_calendar.CreateGraphics(), _nextBtnState, HeaderButtons.NextMonth, _nextBtnRect); } } if (_yearSelector) { // If not within left scroll button, make sure its not pushed if (!prevYearBtnRgn.IsVisible(mouseLocation)) { if (_prevYearBtnState != HeaderButtonState.Inactive) { _prevYearBtnState = HeaderButtonState.Normal; } } else if (_prevYearBtnState != HeaderButtonState.Inactive) { _prevYearBtnState = HeaderButtonState.Hot; } if (oldPrevYearState != _prevYearBtnState) { DrawButton(_calendar.CreateGraphics(), _prevYearBtnState, HeaderButtons.PreviousYear, _prevYearBtnRect); } // If not within right scroll button, make sure its not pushed if (!nextYearBtnRgn.IsVisible(mouseLocation)) { if (_nextYearBtnState != HeaderButtonState.Inactive) { _nextYearBtnState = HeaderButtonState.Normal; } } else if (_nextYearBtnState != HeaderButtonState.Inactive) { _nextYearBtnState = HeaderButtonState.Hot; } if (oldNextYearState != _nextYearBtnState) { DrawButton(_calendar.CreateGraphics(), _nextYearBtnState, HeaderButtons.NextYear, _nextYearBtnRect); } } if (_region.IsVisible(mouseLocation)) { _calendar.ActiveRegion = NuGenCalendarRegion.Header; } prevBtnRgn.Dispose(); nextBtnRgn.Dispose(); prevYearBtnRgn.Dispose(); nextYearBtnRgn.Dispose(); }
internal void MouseClick(Point mouseLocation, MouseButtons button, NuGenClickMode mode) { Region leftBtnRgn = new Region(_prevBtnRect); Region rightBtnRgn = new Region(_nextBtnRect); Region leftYearBtnRgn = new Region(_prevYearBtnRect); Region rightYearBtnRgn = new Region(_nextYearBtnRect); MouseButtons selectButton; if (SystemInformation.MouseButtonsSwapped) { selectButton = MouseButtons.Right; } else { selectButton = MouseButtons.Left; } bool btnClick = false; if (_region.IsVisible(mouseLocation)) { if (button == selectButton) { if (_monthSelector) { if ((leftBtnRgn.IsVisible(mouseLocation)) && (_prevBtnState != HeaderButtonState.Inactive) && (_prevBtnState != HeaderButtonState.Pushed)) { _prevBtnState = HeaderButtonState.Pushed; if (this.PrevMonthButtonClick != null) { this.PrevMonthButtonClick(this, new EventArgs()); } btnClick = true; } if ((rightBtnRgn.IsVisible(mouseLocation)) && (_nextBtnState != HeaderButtonState.Inactive) && (_nextBtnState != HeaderButtonState.Pushed)) { _nextBtnState = HeaderButtonState.Pushed; if (this.NextMonthButtonClick != null) { this.NextMonthButtonClick(this, new EventArgs()); } btnClick = true; } } if (_yearSelector) { if ((leftYearBtnRgn.IsVisible(mouseLocation)) && (_prevYearBtnState != HeaderButtonState.Inactive) && (_prevYearBtnState != HeaderButtonState.Pushed)) { _prevYearBtnState = HeaderButtonState.Pushed; if (this.PrevYearButtonClick != null) { this.PrevYearButtonClick(this, new EventArgs()); } btnClick = true; } if ((rightYearBtnRgn.IsVisible(mouseLocation)) && (_nextYearBtnState != HeaderButtonState.Inactive) && (_nextYearBtnState != HeaderButtonState.Pushed)) { _nextYearBtnState = HeaderButtonState.Pushed; if (this.NextYearButtonClick != null) { this.NextYearButtonClick(this, new EventArgs()); } btnClick = true; } } } else { if (_contextMenu) { DisplayMonthContextMenu(mouseLocation); } } if (mode == NuGenClickMode.Single) { if ((this.Click != null) && (!btnClick)) { this.Click(this, new NuGenClickEventArgs(button)); } } else { if ((this.DoubleClick != null) && (!btnClick)) { this.DoubleClick(this, new NuGenClickEventArgs(button)); } } } leftBtnRgn.Dispose(); rightBtnRgn.Dispose(); leftYearBtnRgn.Dispose(); rightYearBtnRgn.Dispose(); }
private void DrawButton(Graphics g, HeaderButtonState state, HeaderButtons button, Rectangle bounds) { NuGenControlState currentState = NuGenControlState.Normal; if (_calendar.Enabled) { if (state == HeaderButtonState.Hot) currentState = NuGenControlState.Hot; else if (state == HeaderButtonState.Inactive) currentState = NuGenControlState.Disabled; else if (state == HeaderButtonState.Pushed) currentState = NuGenControlState.Pressed; } else currentState = NuGenControlState.Disabled; NuGenPaintParams paintParams = new NuGenPaintParams(g); paintParams.Bounds = bounds; paintParams.State = currentState; this.Renderer.DrawBackground(paintParams); this.Renderer.DrawBorder(paintParams); Image buttonImage; switch (button) { case HeaderButtons.NextYear: { buttonImage = this.Renderer.GetNextYearImage(); break; } case HeaderButtons.NextMonth: { buttonImage = this.Renderer.GetNextMonthImage(); break; } case HeaderButtons.PreviousYear: { buttonImage = this.Renderer.GetPreviousYearImage(); break; } default: { buttonImage = this.Renderer.GetPreviousMonthImage(); break; } } Debug.Assert(buttonImage != null, "buttonImage != null"); NuGenImagePaintParams imagePaintParams = new NuGenImagePaintParams(paintParams); imagePaintParams.Image = buttonImage; Size imageSize = buttonImage.Size; imagePaintParams.Bounds = new Rectangle( bounds.Left + (bounds.Width - imageSize.Width) / 2 , bounds.Top + (bounds.Height - imageSize.Height) / 2 , imageSize.Width , imageSize.Height ); this.Renderer.DrawImage(imagePaintParams); }
internal void Draw(Graphics e) { StringFormat textFormat = new StringFormat(); Brush textBrush = new SolidBrush(TextColor); Brush bgBrush = new SolidBrush(BackColor1); string minMonth; string maxMonth; string currentMonth; string month; textFormat.LineAlignment = StringAlignment.Center; textFormat.Alignment = _align; if (_gradientMode != NuGenGradientMode.None) _calendar.DrawGradient(e, _rect, BackColor1, BackColor2, _gradientMode); else e.FillRectangle(bgBrush, _rect); if (_monthSelector) { currentMonth = _calendar.Month.SelectedMonth.Year.ToString() + "-" + _calendar.Month.SelectedMonth.Month.ToString(); minMonth = _calendar.MinDate.Year.ToString() + "-" + _calendar.MinDate.Month.ToString(); maxMonth = _calendar.MaxDate.Year.ToString() + "-" + _calendar.MaxDate.Month.ToString(); if ((minMonth == currentMonth) && (_prevBtnState != HeaderButtonState.Pushed)) _prevBtnState = HeaderButtonState.Inactive; else if (_prevBtnState != HeaderButtonState.Pushed) _prevBtnState = HeaderButtonState.Normal; if ((maxMonth == currentMonth) && (_nextBtnState != HeaderButtonState.Pushed)) _nextBtnState = HeaderButtonState.Inactive; else if (_nextBtnState != HeaderButtonState.Pushed) _nextBtnState = HeaderButtonState.Normal; } if (_yearSelector) { currentMonth = _calendar.Month.SelectedMonth.Year.ToString() + "-" + _calendar.Month.SelectedMonth.Month.ToString() + "-01"; DateTime currentDate = DateTime.Parse(currentMonth); int days = DateTime.DaysInMonth(_calendar.MinDate.Year, _calendar.MinDate.Month); DateTime minDate = DateTime.Parse(_calendar.MinDate.Year.ToString() + "-" + _calendar.MinDate.Month.ToString() + "-" + days.ToString()); days = DateTime.DaysInMonth(_calendar.MaxDate.Year, _calendar.MaxDate.Month); DateTime maxDate = DateTime.Parse(_calendar.MaxDate.Year.ToString() + "-" + _calendar.MaxDate.Month.ToString() + "-" + days.ToString()); if ((DateTime.Compare(currentDate.AddYears(-1), minDate) < 0) && (_prevYearBtnState != HeaderButtonState.Pushed)) _prevYearBtnState = HeaderButtonState.Inactive; else if (_prevYearBtnState != HeaderButtonState.Pushed) _prevYearBtnState = HeaderButtonState.Normal; if ((DateTime.Compare(currentDate.AddYears(1), maxDate) > 0) && (_nextYearBtnState != HeaderButtonState.Pushed)) _nextYearBtnState = HeaderButtonState.Inactive; else if (_nextYearBtnState != HeaderButtonState.Pushed) _nextYearBtnState = HeaderButtonState.Normal; } if (_monthSelector) { DrawButton(e, _prevBtnState, HeaderButtons.PreviousMonth, _prevBtnRect); DrawButton(e, _nextBtnState, HeaderButtons.NextMonth, _nextBtnRect); } if (_yearSelector) { DrawButton(e, _prevYearBtnState, HeaderButtons.PreviousYear, _prevYearBtnRect); DrawButton(e, _nextYearBtnState, HeaderButtons.NextYear, _nextYearBtnRect); } month = _calendar._dateTimeFormat.GetMonthName(_calendar.Month.SelectedMonth.Month) + " " + _calendar.Month.SelectedMonth.Year.ToString(); if (ShowMonth) e.DrawString(month, Font, textBrush, _textRect, textFormat); else e.DrawString(_text, Font, textBrush, _textRect, textFormat); textBrush.Dispose(); bgBrush.Dispose(); }
internal void MouseMove(Point mouseLocation) { Region prevBtnRgn = new Region(_prevBtnRect); Region nextBtnRgn = new Region(_nextBtnRect); Region prevYearBtnRgn = new Region(_prevYearBtnRect); Region nextYearBtnRgn = new Region(_nextYearBtnRect); HeaderButtonState oldPrevMonthState = _prevBtnState; HeaderButtonState oldNextMonthState = _nextBtnState; HeaderButtonState oldPrevYearState = _prevYearBtnState; HeaderButtonState oldNextYearState = _nextYearBtnState; if (_monthSelector) { // If not within left scroll button, make sure its not pushed if (!prevBtnRgn.IsVisible(mouseLocation)) { if (_prevBtnState != HeaderButtonState.Inactive) _prevBtnState = HeaderButtonState.Normal; } else if (_prevBtnState != HeaderButtonState.Inactive) _prevBtnState = HeaderButtonState.Hot; if (oldPrevMonthState != _prevBtnState) DrawButton(_calendar.CreateGraphics(), _prevBtnState, HeaderButtons.PreviousMonth, _prevBtnRect); // If not within right scroll button, make sure its not pushed if (!nextBtnRgn.IsVisible(mouseLocation)) { if (_nextBtnState != HeaderButtonState.Inactive) _nextBtnState = HeaderButtonState.Normal; } else if (_nextBtnState != HeaderButtonState.Inactive) _nextBtnState = HeaderButtonState.Hot; if (oldNextMonthState != _nextBtnState) DrawButton(_calendar.CreateGraphics(), _nextBtnState, HeaderButtons.NextMonth, _nextBtnRect); } if (_yearSelector) { // If not within left scroll button, make sure its not pushed if (!prevYearBtnRgn.IsVisible(mouseLocation)) { if (_prevYearBtnState != HeaderButtonState.Inactive) _prevYearBtnState = HeaderButtonState.Normal; } else if (_prevYearBtnState != HeaderButtonState.Inactive) _prevYearBtnState = HeaderButtonState.Hot; if (oldPrevYearState != _prevYearBtnState) DrawButton(_calendar.CreateGraphics(), _prevYearBtnState, HeaderButtons.PreviousYear, _prevYearBtnRect); // If not within right scroll button, make sure its not pushed if (!nextYearBtnRgn.IsVisible(mouseLocation)) { if (_nextYearBtnState != HeaderButtonState.Inactive) _nextYearBtnState = HeaderButtonState.Normal; } else if (_nextYearBtnState != HeaderButtonState.Inactive) _nextYearBtnState = HeaderButtonState.Hot; if (oldNextYearState != _nextYearBtnState) DrawButton(_calendar.CreateGraphics(), _nextYearBtnState, HeaderButtons.NextYear, _nextYearBtnRect); } if (_region.IsVisible(mouseLocation)) _calendar.ActiveRegion = NuGenCalendarRegion.Header; prevBtnRgn.Dispose(); nextBtnRgn.Dispose(); prevYearBtnRgn.Dispose(); nextYearBtnRgn.Dispose(); }
internal void MouseUp() { // if mouse button is released no button should be pushed if (_prevBtnState != HeaderButtonState.Inactive) _prevBtnState = HeaderButtonState.Normal; if (_nextBtnState != HeaderButtonState.Inactive) _nextBtnState = HeaderButtonState.Normal; if (_prevYearBtnState != HeaderButtonState.Inactive) _prevYearBtnState = HeaderButtonState.Normal; if (_nextYearBtnState != HeaderButtonState.Inactive) _nextYearBtnState = HeaderButtonState.Normal; _calendar.Invalidate(); }
internal void MouseClick(Point mouseLocation, MouseButtons button, NuGenClickMode mode) { Region leftBtnRgn = new Region(_prevBtnRect); Region rightBtnRgn = new Region(_nextBtnRect); Region leftYearBtnRgn = new Region(_prevYearBtnRect); Region rightYearBtnRgn = new Region(_nextYearBtnRect); MouseButtons selectButton; if (SystemInformation.MouseButtonsSwapped) selectButton = MouseButtons.Right; else selectButton = MouseButtons.Left; bool btnClick = false; if (_region.IsVisible(mouseLocation)) { if (button == selectButton) { if (_monthSelector) { if ((leftBtnRgn.IsVisible(mouseLocation)) && (_prevBtnState != HeaderButtonState.Inactive) && (_prevBtnState != HeaderButtonState.Pushed)) { _prevBtnState = HeaderButtonState.Pushed; if (this.PrevMonthButtonClick != null) this.PrevMonthButtonClick(this, new EventArgs()); btnClick = true; } if ((rightBtnRgn.IsVisible(mouseLocation)) && (_nextBtnState != HeaderButtonState.Inactive) && (_nextBtnState != HeaderButtonState.Pushed)) { _nextBtnState = HeaderButtonState.Pushed; if (this.NextMonthButtonClick != null) this.NextMonthButtonClick(this, new EventArgs()); btnClick = true; } } if (_yearSelector) { if ((leftYearBtnRgn.IsVisible(mouseLocation)) && (_prevYearBtnState != HeaderButtonState.Inactive) && (_prevYearBtnState != HeaderButtonState.Pushed)) { _prevYearBtnState = HeaderButtonState.Pushed; if (this.PrevYearButtonClick != null) this.PrevYearButtonClick(this, new EventArgs()); btnClick = true; } if ((rightYearBtnRgn.IsVisible(mouseLocation)) && (_nextYearBtnState != HeaderButtonState.Inactive) && (_nextYearBtnState != HeaderButtonState.Pushed)) { _nextYearBtnState = HeaderButtonState.Pushed; if (this.NextYearButtonClick != null) this.NextYearButtonClick(this, new EventArgs()); btnClick = true; } } } else { if (_contextMenu) { DisplayMonthContextMenu(mouseLocation); } } if (mode == NuGenClickMode.Single) { if ((this.Click != null) && (!btnClick)) this.Click(this, new NuGenClickEventArgs(button)); } else { if ((this.DoubleClick != null) && (!btnClick)) this.DoubleClick(this, new NuGenClickEventArgs(button)); } } leftBtnRgn.Dispose(); rightBtnRgn.Dispose(); leftYearBtnRgn.Dispose(); rightYearBtnRgn.Dispose(); }