C#中怎样改变进度条(progressbar)的颜色?
如题,我想改一下progressbar控件的颜色,该怎么改?先谢谢了!progressbar没有颜色的这个属性属性...
如题,我想改一下progressbar控件的颜色,该怎么改?先谢谢了!
progressbar没有颜色的这个属性属性 展开
progressbar没有颜色的这个属性属性 展开
7个回答
推荐于2016-02-29 · 知道合伙人数码行家
关注
展开全部
改变系统自带进度条的方法就是重绘了。
具体方法如下:
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方法,按具体需要绘制控件外观。
展开全部
系统控件封装要实现与系统完全同式能自绘制或使用第三UI控件
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
MSDN上说windowsXP以上版本不能改:
“注意:
在
Windows
XP
Home
Edition、Windows
XP
Professional、Windows
Server
2003
以及更高版本上启用视觉样式时,对
ProgressBar
的
ForeColor
和
BackColor
更改将不起作用。”
至于怎么编程实现我也不会……似乎需要自己写控件。
“注意:
在
Windows
XP
Home
Edition、Windows
XP
Professional、Windows
Server
2003
以及更高版本上启用视觉样式时,对
ProgressBar
的
ForeColor
和
BackColor
更改将不起作用。”
至于怎么编程实现我也不会……似乎需要自己写控件。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这是系统控件的封装,要实现与系统完全不同的样式,只能自己绘制,或使用第三方UI控件。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
明明有啊,
BackColor背景色
ForeColor前景色
BackColor背景色
ForeColor前景色
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询