DevExpress之進度條


progressBarControl和marqueeProgressBarControl

一.progressBarControl

progressBarControl是一個進度條控件

幾個重要參數

Minimum------------------進度最小數值

Maximum-----------------進度最大數值

Step----------------------每走一步的數值

Position ------------------當前值

EditValue-----------------編輯值

ProgressViewStyle--------樣式(其實我沒看出什么區別)

ShowTitle-----------------是否顯示標題(沒有設置顯示百分比的時候一般顯示value值)

PercentView---------------是否顯示百分比(需要ShowTitle為true)

ProgressKind-------------進度條方向(橫向/縱向),這只是進度的顯示方向,具體控件還要自己把它拉成橫向或者縱向

TextOrientation-----------進度條文本顯示方向(橫向/縱向)

方法

 PerformStep() -----------進度條前進一步

 

添加兩個進度條,一個橫向,一個縱向,並初始化一下參數

            //水平進度條
            progressBarControlH.Properties.Minimum = 0;
            progressBarControlH.Properties.Maximum = 100;
            progressBarControlH.Properties.Step = 1;
            progressBarControlH.Properties.ProgressViewStyle = DevExpress.XtraEditors.Controls.ProgressViewStyle.Solid;
            progressBarControlH.Position = 0;
            progressBarControlH.Properties.ShowTitle = true;
            progressBarControlH.Properties.PercentView = true;
            progressBarControlH.Properties.ProgressKind = DevExpress.XtraEditors.Controls.ProgressKind.Horizontal;
            


            //垂直進度條
            progressBarControlV.Properties.Minimum = 0;
            progressBarControlV.Properties.Maximum = 100;
            progressBarControlV.Properties.Step = 1;
            progressBarControlV.Properties.ProgressViewStyle = DevExpress.XtraEditors.Controls.ProgressViewStyle.Solid;
            progressBarControlV.Position = 0;
            progressBarControlV.Properties.ShowTitle = true;
            progressBarControlV.Properties.PercentView = true;
            progressBarControlV.Properties.ProgressKind = DevExpress.XtraEditors.Controls.ProgressKind.Vertical;
            progressBarControlV.Properties.TextOrientation = DevExpress.Utils.Drawing.TextOrientation.Horizontal;

 

當把進度條設置為縱向的時候一般需要Title或者百分比的顯示還是橫向的,這樣看起來才舒服,所以要設置一下TextOrientation屬性

調用代碼:

            for (int i = 0; i < 100; i++)    
            {
                
                
                System.Threading.Thread.Sleep(120);
                progressBarControlH.PerformStep();
                progressBarControlV.PerformStep();
                //progressBarControl1.Position +=1;
                //progressBarControl1.EditValue = i + 1;
                //處理當前消息隊列中的所有windows消息,不然進度條會不同步
                System.Windows.Forms.Application.DoEvents();
            }
            progressBarControlH.EditValue = 0;
            progressBarControlV.EditValue = 0;

讓進度條移動有三種方式

1.改變Position的值

2.改變EditValue的值

3.用PerformStep方法

不過要注意的是,這三種方式后面都要加上System.Windows.Forms.Application.DoEvents(),就是每次改變進度的時候都要讓windows處理當前隊列的消息,以確保進度條同步,否則可能出現進度條的數據更改了,可是進度沒有動的情況

二.marqueeProgressBarControl

marqueeProgressBarControl用起來比較簡單,但是沒有ProgressBarControl的顯示進度和百分比的功能

       marqueeProgressBarControlH.Properties.ProgressKind = DevExpress.XtraEditors.Controls.ProgressKind.Horizontal;
            marqueeProgressBarControlH.Properties.ShowTitle = true;
            marqueeProgressBarControlH.Text = "橫向讀取數據中,請稍等。。。。";

            marqueeProgressBarControlV.Properties.ProgressKind = DevExpress.XtraEditors.Controls.ProgressKind.Vertical;
            marqueeProgressBarControlV.Properties.ShowTitle = true;
            marqueeProgressBarControlV.Text = "縱向數據讀取中,請稍等";
            marqueeProgressBarControlV.Properties.TextOrientation = DevExpress.Utils.Drawing.TextOrientation.VerticalUpwards;

最后效果

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM