DevExpress的进度条控件ProgressBarControl的使用-以ZedGraph添加曲线进度为例
場(chǎng)景
Winform控件-DevExpress18下載安裝注冊(cè)以及在VS中使用:
https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/100061243
在使用ZedGraph進(jìn)行添加曲線時(shí),曲線數(shù)量如果很多的情況下,速度會(huì)比較慢。
所以在進(jìn)行添加曲線的過程中需要顯示進(jìn)度,效果如下
?
注:
博客主頁:
https://blog.csdn.net/badao_liumang_qizhi
關(guān)注公眾號(hào)
霸道的程序猿
獲取編程相關(guān)電子書、教程推送與免費(fèi)下載。
實(shí)現(xiàn)
在當(dāng)前要添加進(jìn)度條的頁面打開設(shè)計(jì)器,并在安裝了DevExpress的工具箱中拖拽一個(gè)ProgressBarControl
?
然后在當(dāng)前窗體的構(gòu)造方法中進(jìn)行進(jìn)度條控件的一些屬性設(shè)置
public FrmCurveCompareInOne(){InitializeComponent();progressBarControl1.Visible = true;//設(shè)置一個(gè)最小值progressBarControl1.Properties.Minimum = 0;//設(shè)置一個(gè)最大值progressBarControl1.Properties.Maximum = 100;//設(shè)置進(jìn)度條的樣式progressBarControl1.Properties.ProgressViewStyle = DevExpress.XtraEditors.Controls.ProgressViewStyle.Solid;//當(dāng)前值progressBarControl1.Position = 0;//是否顯示進(jìn)度數(shù)據(jù)progressBarControl1.Properties.ShowTitle = true;//是否顯示百分比progressBarControl1.Properties.PercentView = true;}然后在觸發(fā)顯示進(jìn)度條的方法中傳遞當(dāng)前進(jìn)度條對(duì)象
ChartCompareHelper.RefreshPaneComInOne(this.zedGraphControl1, xYModelStore.YAxisModelList,this.progressBarControl1);在上面刷新ZedGraph的圖形的方法中,添加曲線的部分進(jìn)行進(jìn)度的設(shè)置
?if (yList != null && yList.Count > 0){PointPairList list = null;for (int i = 0; i < yList.Count; i++){//截取前100個(gè)循環(huán)進(jìn)行顯示Global.Instance.PrepareCompareDataInOne = Global.Instance.PrepareCompareDataInOne.Where(p => (int.Parse(p.Id) < 101)).ToList();//計(jì)算進(jìn)度條步長(zhǎng)int step = 1;//曲線總數(shù)小于100if (Global.Instance.PrepareCompareDataInOne.Count < 100){step = 100 / Global.Instance.PrepareCompareDataInOne.Count;}else{step = Global.Instance.PrepareCompareDataInOne.Count / 100;}if(progressBar !=null){//將進(jìn)度條初始化為0%progressBar.Position = 0;}//循環(huán)添加曲線foreach(DataTreeNode node in Global.Instance.PrepareCompareDataInOne){IEnumerable<Entity.Record> record =? Global.Instance.VirtualData.RecordDataList.Where(p => p.CycleIndex == int.Parse(node.Id));list = SetCurveTextInOne(yList[i].TitleKey,record);LineItem myCurve = myPane.AddCurve(yList[i].Title, list, System.Drawing.ColorTranslator.FromHtml(yList[i].Color), SymbolType.None);myCurve.YAxisIndex = i;???????????????????????????????????????????????????????????????? //很關(guān)鍵,對(duì)應(yīng)使用那個(gè)坐標(biāo)值if(progressBar !=null){//添加成功一條曲線則進(jìn)度條增加一個(gè)步數(shù)progressBar.Position += step;if (progressBar.Position >=100){//如果總進(jìn)度已經(jīng)大于100了 則賦值為100progressBar.Position = 100;}//更新進(jìn)度條的進(jìn)度progressBar.Update();}}if (progressBar != null){//最終添加完所有曲線后將進(jìn)度條設(shè)置為100%progressBar.Position = 100;}}?
總結(jié)
以上是生活随笔為你收集整理的DevExpress的进度条控件ProgressBarControl的使用-以ZedGraph添加曲线进度为例的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Winform中封装DevExpress
- 下一篇: Winform中设置ZedGraph鼠标