Как сделать windows форм Progress Bar с разноцветным фоном - PullRequest
0 голосов
/ 06 мая 2020

Я хочу внедрить индикатор выполнения в свой проект форм windows, но мне не нравится стандартный стиль, поэтому я очень внимательно посмотрел, чтобы изменить его цвет, но я могу найти только способы изменить цвет фактическая панель, но я также хочу изменить ее цвет фона

  public NewProgressBar()
{
    this.SetStyle(ControlStyles.UserPaint, true);
}

protected override void OnPaint(PaintEventArgs e)
{
    Rectangle rec = e.ClipRectangle;

    rec.Width = (int)(rec.Width * ((double)Value / Maximum)) - 4;
    if(ProgressBarRenderer.IsSupported) 
    {
        ProgressBarRenderer.DrawHorizontalBar(e.Graphics, e.ClipRectangle);
    }
    rec.Height -= 4;
    e.Graphics.FillRectangle(Brushes.Aqua, 2, 2, rec.Width, rec.Height);
}
...