/// <summary> /// Inheriting classes should override this method to handle this event. /// </summary> protected override void OnPaint(System.Windows.Forms.PaintEventArgs e) { if (Owner != null) { ToolStripRenderer renderer = Renderer; Graphics g = e.Graphics; renderer.DrawDropDownButtonBackground(new ToolStripItemRenderEventArgs(e.Graphics, this)); if ((DisplayStyle & ToolStripItemDisplayStyle.Image) == ToolStripItemDisplayStyle.Image) { renderer.DrawItemImage(new ToolStripItemImageRenderEventArgs(g, this, InternalLayout.ImageRectangle)); } if ((DisplayStyle & ToolStripItemDisplayStyle.Text) == ToolStripItemDisplayStyle.Text) { renderer.DrawItemText(new ToolStripItemTextRenderEventArgs(g, this, Text, InternalLayout.TextRectangle, ForeColor, Font, InternalLayout.TextFormat)); } if (ShowDropDownArrow) { Rectangle dropDownArrowRect = (InternalLayout is ToolStripDropDownButtonInternalLayout layout) ? layout.DropDownArrowRect : Rectangle.Empty; Color arrowColor; if (Selected && !Pressed && SystemInformation.HighContrast) { arrowColor = Enabled ? SystemColors.HighlightText : SystemColors.ControlDark; } else { arrowColor = Enabled ? SystemColors.ControlText : SystemColors.ControlDark; } renderer.DrawArrow(new ToolStripArrowRenderEventArgs(g, this, dropDownArrowRect, arrowColor, ArrowDirection.Down)); } } }
/// <include file='doc\ToolStripPopupButton.uex' path='docs/doc[@for="ToolStripDropDownButton.OnPaint"]/*' /> /// <devdoc> /// Inheriting classes should override this method to handle this event. /// </devdoc> protected override void OnPaint(System.Windows.Forms.PaintEventArgs e) { if (this.Owner != null) { ToolStripRenderer renderer = this.Renderer; Graphics g = e.Graphics; renderer.DrawDropDownButtonBackground(new ToolStripItemRenderEventArgs(e.Graphics, this)); if ((DisplayStyle & ToolStripItemDisplayStyle.Image) == ToolStripItemDisplayStyle.Image) { renderer.DrawItemImage(new ToolStripItemImageRenderEventArgs(g, this, InternalLayout.ImageRectangle)); } if ((DisplayStyle & ToolStripItemDisplayStyle.Text) == ToolStripItemDisplayStyle.Text) { renderer.DrawItemText(new ToolStripItemTextRenderEventArgs(g, this, this.Text, InternalLayout.TextRectangle, this.ForeColor, this.Font, InternalLayout.TextFormat)); } if (ShowDropDownArrow) { ToolStripDropDownButton.ToolStripDropDownButtonInternalLayout layout = InternalLayout as ToolStripDropDownButtonInternalLayout; Rectangle dropDownArrowRect = (layout != null) ? layout.DropDownArrowRect :Rectangle.Empty; Color arrowColor = Enabled ? SystemColors.ControlText : SystemColors.ControlDark; renderer.DrawArrow(new ToolStripArrowRenderEventArgs(g, this, dropDownArrowRect, arrowColor, ArrowDirection.Down)); } } }
protected override void OnRenderDropDownButtonBackground(System.Windows.Forms.ToolStripItemRenderEventArgs e) { if (currentRenderer != null) { currentRenderer.DrawDropDownButtonBackground(e); return; } base.OnRenderDropDownButtonBackground(e); }
protected override void OnRenderDropDownButtonBackground(ToolStripItemRenderEventArgs e) { if (_currentRenderer != null) { _currentRenderer.DrawDropDownButtonBackground(e); } else { base.OnRenderDropDownButtonBackground(e); } }
protected override void OnRenderDropDownButtonBackground(ToolStripItemRenderEventArgs e) { if (renderer is ToolStripProfessionalRenderer) { Color back = GetThemeColor("ToolStripItem.BackColor"); Color border = GetThemeColor("ToolStripItem.BorderColor"); if (e.Item.Selected) { Rectangle rectBorder = new Rectangle(0, 0, e.Item.Width, e.Item.Height); Rectangle rectBack = new Rectangle(1, 1, e.Item.Width - 2, e.Item.Height - 2); LinearGradientBrush backBrush = new LinearGradientBrush(rectBack, back == Color.Empty ? DockDrawHelper.ColorSelectedBG_White : back, back == Color.Empty ? DockDrawHelper.ColorSelectedBG_Blue : back, LinearGradientMode.Vertical); e.Graphics.FillRectangle(backBrush, rectBack); Rectangle rect2 = new Rectangle(rectBack.Left - 1, rectBack.Top - 1, rectBack.Width + 1, rectBack.Height + 1); Rectangle rect3 = new Rectangle(rect2.Left + 1, rect2.Top + 1, rect2.Width - 2, rect2.Height - 2); e.Graphics.DrawRectangle(new Pen(border == Color.Empty ? DockDrawHelper.ColorSelectedBG_Border : border), rect2); e.Graphics.DrawRectangle(new Pen(back == Color.Empty ? DockDrawHelper.ColorSelectedBG_White : back), rect3); } if (e.Item.Pressed) { Color back2 = GetThemeColor("ToolStripMenu.DropDownBackColor"); Color border2 = GetThemeColor("ToolStripMenu.DropDownBorderColor"); if (back2 != Color.Empty && border2 != Color.Empty) { e.Graphics.FillRectangle(new SolidBrush(back2), new Rectangle(0, 0, e.Item.Width, e.Item.Height)); e.Graphics.DrawRectangle(new Pen(border2), new Rectangle(0, 0, e.Item.Width - 1, e.Item.Height - 1)); } else { renderer.DrawDropDownButtonBackground(e); } } } else { renderer.DrawDropDownButtonBackground(e); } }
protected override void OnRenderDropDownButtonBackground(ToolStripItemRenderEventArgs e) { renderer.DrawDropDownButtonBackground(e); }