涛神联合Dxper.Net开发者论坛管理在腾讯课堂开启DevExpress基础和高级培训课程 详情可以加群QQ群:294560883
DevExpress 的ProgressBarControl默认进度条颜色修改无效,原因是进度条颜色是随着皮肤走的,所以我们设置它的StartColor和EndColor并没有起到作用,
如果想起到作用控件本身就必须去掉皮肤样式,或者修改皮肤对应的颜色。
以下通用的代码是去掉皮肤颜色再去设置进度条颜色
/// <summary>
/// 设置进度条颜色
/// </summary>
/// <param name="progressBar"></param>
/// <param name="startColor">起始颜色</param>
/// <param name="endColor">结束颜色,跟起始颜色形成渐变色效果,如果不设置则用起始颜色</param>
void SetProgressBarColor(ProgressBarControl progressBar, Color startColor, Color? endColor = null)
{
progressBar.Properties.ProgressViewStyle = DevExpress.XtraEditors.Controls.ProgressViewStyle.Solid;
if (endColor == null)
progressBar.Properties.EndColor = startColor;
else
progressBar.Properties.EndColor = endColor.Value;
progressBar.Properties.StartColor = startColor;
progressBar.Properties.ShowTitle = true;
progressBar.Properties.LookAndFeel.SetStyle(DevExpress.LookAndFeel.LookAndFeelStyle.UltraFlat, false, false);
}
调用代码:
private void Form1_Load(object sender, EventArgs e)
{
SetProgressBarColor(progressBarControl2, Color.Yellow);
SetProgressBarColor(progressBarControl3, Color.Green);
SetProgressBarColor(progressBarControl4, Color.Red,Color.White);
}
效果图: