C#中怎样改变进度条(progressbar)的颜色?

如题,我想改一下progressbar控件的颜色,该怎么改?先谢谢了!progressbar没有颜色的这个属性属性... 如题,我想改一下progressbar控件的颜色,该怎么改?先谢谢了!
progressbar没有颜色的这个属性属性
展开
 我来答
FoolRabbit编程
推荐于2016-02-29 · 知道合伙人数码行家
FoolRabbit编程
知道合伙人数码行家
采纳数:619 获赞数:3805
毕业于苏州大学,4年编程经验,对WPF有研究。

向TA提问 私信TA
展开全部

改变系统自带进度条的方法就是重绘了。

具体方法如下:

1. 自定义控件继承自ProgressBar,如下:

    public class CustomProgressBar : ProgressBar
    {
        public CustomProgressBar()
        {
            base.SetStyle(ControlStyles.UserPaint, true);
            //...
        }
        
        //重写OnPaint方法
        protected override void OnPaint(PaintEventArgs e)
        {
            SolidBrush brush = null;
            Pen pen;
            Rectangle bounds = new Rectangle(0, 0, base.Width, base.Height);
            //...
            e.Graphics.FillRectangle(new SolidBrush(this.BackColor), 1, 1, bounds.Width - 2, bounds.Height - 2);
            bounds.Height -= 4;
            bounds.Width = ((int)(bounds.Width * (((double)base.Value) / ((double)base.Maximum)))) - 4;
            brush = new SolidBrush(this.ForeColor);
            e.Graphics.FillRectangle(brush, 2, 2, bounds.Width, bounds.Height);
        }
    }

2. 了解下ControlStyles枚举

3. 重绘控件

重写OnPaint方法,按具体需要绘制控件外观。

财经前沿探索
2019-10-13 · TA获得超过3746个赞
知道大有可为答主
回答量:3098
采纳率:26%
帮助的人:444万
展开全部
系统控件封装要实现与系统完全同式能自绘制或使用第三UI控件
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
葛善翦孤容
2020-06-28 · TA获得超过3965个赞
知道大有可为答主
回答量:3159
采纳率:24%
帮助的人:413万
展开全部
MSDN上说windowsXP以上版本不能改:
“注意:

Windows
XP
Home
Edition、Windows
XP
Professional、Windows
Server
2003
以及更高版本上启用视觉样式时,对
ProgressBar

ForeColor

BackColor
更改将不起作用。”
至于怎么编程实现我也不会……似乎需要自己写控件。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
FantasyChump
推荐于2016-11-05 · TA获得超过3288个赞
知道大有可为答主
回答量:2127
采纳率:0%
帮助的人:2250万
展开全部
这是系统控件的封装,要实现与系统完全不同的样式,只能自己绘制,或使用第三方UI控件。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
房雁凡s9
2010-07-15 · TA获得超过1360个赞
知道小有建树答主
回答量:504
采纳率:100%
帮助的人:505万
展开全部
明明有啊,
BackColor背景色
ForeColor前景色
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式