如何在C#.NET 3.5中更改Progressbar的颜色?
我想在进度栏上做两件事。
- 将绿色更改为红色。
- 卸下砖块,使其成为一种颜色。
我不知道如何完成有关这两件事的任何信息,我们将不胜感激!
谢谢。
回答:
由于先前的答案似乎不适用于“视觉样式”。您可能需要创建自己的类或扩展进度栏:
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