protected override void OnPaintBackground(PaintEventArgs e)
{
try
{
Color backColor = BackColor;
if (isHovered && !isPressed && Enabled)
{
backColor = MetroPaint.BackColor.Button.Hover(Theme);
}
else if (isHovered && isPressed && Enabled)
{
backColor = MetroPaint.BackColor.Button.Press(Theme);
}
else if (!Enabled)
{
backColor = MetroPaint.BackColor.Button.Disabled(Theme);
}
else if (Highlight && Enabled)
{
backColor = MetroPaint.GetStyleColor(Style);
}
else
{
if (!useCustomBackColor)
{
backColor = MetroPaint.BackColor.Button.Normal(Theme);
}
}
if (backColor.A == 255 && BackgroundImage == null)
{
e.Graphics.Clear(backColor);
return;
}
base.OnPaintBackground(e);
OnCustomPaintBackground(new MetroPaintEventArgs(backColor, Color.Empty, e.Graphics));
}
catch
{
Invalidate();
}
}