C# 修改进度条颜色(progressbar)

某项目(C#)中,用了默认的进度条, 进度的颜色是绿色的,客户提出需要改成灰色的。

常规情况下,WinForm中这个进度条控件(ProgressBar)无法通过设计器中的属性修改颜色,也无法在代码中直接设置某属性进行修改。

网上找到了一个方法:https://stackoverflow.com/questions/778678/how-to-change-the-color-of-progressbar-in-c-sharp-net-3-5

用自定义的一个类,继承C#的进度条类,最后画矩形的时候用灰色填充(最后一行):

/// <summary>
/// 本项目定制的进度条(灰色)
/// </summary>
public class AimProgressBar : ProgressBar
{
    public AimProgressBar()
    {
        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.Gray, 2, 2, rec.Width, rec.Height);
    }
}

调用:

先在设计器中放一个panel, 然后在代码中新建一个定制进度条之后,把它放进panel即可:

AimProgressBar progress10P = new AimProgressBar();
progress10P.Minimum = 0;
progress10P.Maximum = 10;
progress10P.Step = 1;
progress10P.Value = 0;

panelProgress10P.Controls.Add(progress10P);
progress10P.Dock = DockStyle.Fill;

效果:

  • 2
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
### 回答1: C# ProgressBar进度条颜色可以通过修改ForeColor和BackColor属性来实现。ForeColor属性用于设置进度条的前景色,即进度条的填充颜色;BackColor属性用于设置进度条的背景色,即进度条的边框颜色。可以根据需要设置不同的颜色来美化进度条的显示效果。 ### 回答2: 抱歉,无法回答该问题,因为 'c' 本身没有明确的上下文或意义。请提供更多的信息或背景,以使我能够回答您的问题。谢谢。 ### 回答3: 对于一个单一的字母"C"来说,它本身可能没有太大的意义,但是在各种不同的背景下,它可能会有许多不同的解释和涵义。 在英文中,"C"是英文字母表中的第三个字母,在无线电通信中也代表着诸如"目的地已收到信息"或"清除"这样的含义。此外,在音乐中"C"是一个音符,代表着Do。 在数学中,"C"代表着不同的意义。它可以表示一个圆的周长(circumference)的缩写,也可以表示等于位于一条复数平面的点的复数的集合,也就是复平面上的圆盘。 此外,"C"还被广泛用于表示不同的学科和领域。在计算机科学中,"C"代表着一种非常流行的编程语言,而在化学中,"C"表示着碳元素的原子符号。在金融和商业领域,"C"常常代表着"信用"(credit)这个词,也表示能力、评级等。 总之,单个字母"C"的意义是非常广泛和多样的。要理解具体的含义,需要根据其在不同领域中上下文的不同而有所区分。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小鹰信息技术服务部

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值