protected override void OnRenderImageMargin(ToolStripRenderEventArgs e) { ToolStrip toolStrip = e.ToolStrip; Graphics graphics = e.Graphics; GDIHelper.InitializeGraphics(graphics); Rectangle affectedBounds = e.AffectedBounds; affectedBounds.Width--; affectedBounds.Height--; if (toolStrip is ToolStripDropDown) { affectedBounds.Width = _OffsetMargin; Color menuImageMarginBackColor = MenuImageMarginBackColor; RoundRectangle roundRectangle = new RoundRectangle(cornerRadius: new CornerRadius(MenuCornerRadius), rect: affectedBounds); GDIHelper.FillPath(graphics, new RoundRectangle(affectedBounds, new CornerRadius(MenuCornerRadius, 0, MenuCornerRadius, 0)), menuImageMarginBackColor, menuImageMarginBackColor); Image menuImageBackImage = MenuImageBackImage; if (menuImageBackImage != null && ShowMenuBackImage) { ImageAttributes imageAttributes = new ImageAttributes(); GDIHelper.SetImageOpacity(imageAttributes, MenuImageBackImageOpacity); graphics.DrawImage(Resources.logo_mini, new Rectangle(affectedBounds.X + 1, affectedBounds.Y + 2, menuImageBackImage.Width, menuImageBackImage.Height), 0, 0, menuImageBackImage.Width, menuImageBackImage.Height, GraphicsUnit.Pixel, imageAttributes); } Point pt = new Point(affectedBounds.X + _OffsetMargin, affectedBounds.Y + 3); Point pt2 = new Point(affectedBounds.X + _OffsetMargin, affectedBounds.Bottom - 3); using (Pen pen = new Pen(SkinManager.CurrentSkin.BorderColor)) { graphics.DrawLine(pen, pt, pt2); } } else { base.OnRenderImageMargin(e); } }