如何在C#.NET 3.5中更改Progressbar的颜色?

我想在进度栏上做两件事。

  1. 将绿色更改为红色。
  2. 卸下砖块,使其成为一种颜色。

我不知道如何完成有关这两件事的任何信息,我们将不胜感激!

谢谢。

回答:

由于先前的答案似乎不适用于“视觉样式”。您可能需要创建自己的类或扩展进度栏:

public class NewProgressBar : ProgressBar

{

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 = rec.Height - 4;

e.Graphics.FillRectangle(Brushes.Red, 2, 2, rec.Width, rec.Height);

}

}

编辑:更新的代码以使进度条使用背景的视觉样式

以上是 如何在C#.NET 3.5中更改Progressbar的颜色? 的全部内容, 来源链接: utcz.com/qa/422478.html

回到顶部