濤神聯合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);
}
效果圖: