在C#中改变Progress Bar颜色的任何简单方法?

时间:2017-05-21 13:58:41

标签: c#

我现在正在编写简单的Winapps C#以这样的方式显示进度条,通常它显示绿色并在其值> 0时变为红色。 70(假设值范围是0到100)。

我在Stack Overflow上读了一些方法,我发现有一些复杂的方法只是用来改变进度条的颜色。

在进度条的属性中,有两个参数Forecolor和backcolor来改变进度条的颜色,我确实尝试了以下代码:

        pgBar1.ForeColor = Color.FromArgb(255, 0, 0);
        pgBar1.BackColor = Color.FromArgb(255, 100, 0);

但它似乎不起作用。我很奇怪为什么不呢?

有人可以建议这样做的简单方法吗?

谢谢。

1 个答案:

答案 0 :(得分:0)

有一种简单的方法可以做到这一点,我不会把它称为复杂的 - 只需将此类粘贴到您的项目中(如this answer所示):

pgBar1.SetState(2);

因为它是一个 extension method 你可以像这样使用它:

BackColor

状态编码如下:

1 - >绿色

2 - >红色

3 - >黄

您的解决方案无效,因为{{1}}属性不是条形图的颜色。

当然,您可以覆盖进度条的绘制方法,以各种颜色对其进行着色,但我认为这不是一种简单的方法。