public override void DrawItem(DrawItemEventArgs e)
        {
            var item = Control.Items.Cast <PointOfSaleForm.ProductListBoxItem>().ElementAtOrDefault(e.Index);

            if (item == null)
            {
                return;
            }

            e.Graphics.SetClip(e.Bounds);
            var backColor = e.State.HasFlag(DrawItemState.Selected)
                ? ControlPaint.Light(ColorScheme.PrimaryColor, 0.05f)
                : e.BackColor;

            using (var brush =
                       new SolidBrush(backColor))
            {
                e.Graphics.FillRectangle(brush, e.Bounds);
            }

            using (var sb = new SolidBrush(GraphicUtils.ForegroundColorForBackground(backColor)))
            {
                e.Graphics.DrawString(_translation.TranslateMultilineResult(item.TextValue), Control.Font, sb,
                                      e.Bounds.OffsetAndReturn(5, 0), _centerVerticalStringFormat);
            }

            e.Graphics.SetClip(Rectangle.Empty);
        }
 public override void DrawItem(SidebarControl c, Graphics g, Size itemSize, bool isSelected)
 {
     using (var sb = new SolidBrush(isSelected ? GraphicUtils.ForegroundColorForBackground(c.ColorScheme.SecondaryColor) : ForeColor)) {
         using (var format = new StringFormat
         {
             LineAlignment = StringAlignment.Center,
         }) {
             g.DrawString(Text, c.Font, sb, new Rectangle(SIDE_OFFSET, 0, itemSize.Width, itemSize.Height), format);
         }
     }
 }