protected override void OnDrawItem(DrawItemEventArgs e)
{
if (e.Index >= 0)
{
Color foreColor;
Color backColor = BackColor;
if (!useCustomBackColor)
{
backColor = MetroPaint.BackColor.Form(Theme);
}
if (e.State == (DrawItemState.NoAccelerator | DrawItemState.NoFocusRect) || e.State == DrawItemState.None)
{
using (SolidBrush b = new SolidBrush(backColor))
{
e.Graphics.FillRectangle(b, new Rectangle(e.Bounds.Left, e.Bounds.Top, e.Bounds.Width, e.Bounds.Height));
}
foreColor = MetroPaint.ForeColor.Link.Normal(Theme);
}
else
{
using (SolidBrush b = new SolidBrush(MetroPaint.GetStyleColor(Style)))
{
e.Graphics.FillRectangle(b, new Rectangle(e.Bounds.Left, e.Bounds.Top, e.Bounds.Width, e.Bounds.Height));
}
foreColor = MetroPaint.ForeColor.Tile.Normal(Theme);
}
Rectangle textRect = new Rectangle(0, e.Bounds.Top, e.Bounds.Width, e.Bounds.Height);
TextRenderer.DrawText(e.Graphics, GetItemText(Items[e.Index]), MetroFonts.ComboBox(metroComboBoxSize, metroComboBoxWeight), textRect, foreColor, TextFormatFlags.Left | TextFormatFlags.VerticalCenter);
}
else
{
base.OnDrawItem(e);
}
}