Ejemplo n.º 1
0
        /// <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));
                }
            }
        }
Ejemplo n.º 2
0
        /// <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));
                }
            }
        }
Ejemplo n.º 3
0
 protected override void OnRenderDropDownButtonBackground(System.Windows.Forms.ToolStripItemRenderEventArgs e)
 {
     if (currentRenderer != null)
     {
         currentRenderer.DrawDropDownButtonBackground(e);
         return;
     }
     base.OnRenderDropDownButtonBackground(e);
 }
Ejemplo n.º 4
0
 protected override void OnRenderDropDownButtonBackground(ToolStripItemRenderEventArgs e)
 {
     if (_currentRenderer != null)
     {
         _currentRenderer.DrawDropDownButtonBackground(e);
     }
     else
     {
         base.OnRenderDropDownButtonBackground(e);
     }
 }
Ejemplo n.º 5
0
 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);
     }
 }
Ejemplo n.º 6
0
 protected override void OnRenderDropDownButtonBackground(ToolStripItemRenderEventArgs e)
 {
     renderer.DrawDropDownButtonBackground(e);
 }