DevExpress Winform ProgressBarControl 修改進度條顏色

濤神聯合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);
        }

效果圖:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章