DevExpress的进度条控件ProgressBarControl的使用-以ZedGraph添加曲线进度为例
场景
Winform控件-DevExpress18下载安装注册以及在VS中使用:
https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/100061243
在使用ZedGraph进行添加曲线时,曲线数量如果很多的情况下,速度会比较慢。
所以在进行添加曲线的过程中需要显示进度,效果如下

注:
博客主页:
https://blog.csdn.net/badao_liumang_qizhi
关注公众号
霸道的程序猿
获取编程相关电子书、教程推送与免费下载。
实现
在当前要添加进度条的页面打开设计器,并在安装了DevExpress的工具箱中拖拽一个ProgressBarControl

然后在当前窗体的构造方法中进行进度条控件的一些属性设置
public FrmCurveCompareInOne()
{
InitializeComponent();
progressBarControl1.Visible = true;
//设置一个最小值
progressBarControl1.Properties.Minimum = ;
//设置一个最大值
progressBarControl1.Properties.Maximum = ;
//设置进度条的样式
progressBarControl1.Properties.ProgressViewStyle = DevExpress.XtraEditors.Controls.ProgressViewStyle.Solid;
//当前值
progressBarControl1.Position = ;
//是否显示进度数据
progressBarControl1.Properties.ShowTitle = true;
//是否显示百分比
progressBarControl1.Properties.PercentView = true; }
然后在触发显示进度条的方法中传递当前进度条对象
ChartCompareHelper.RefreshPaneComInOne(this.zedGraphControl1, xYModelStore.YAxisModelList,this.progressBarControl1);
在上面刷新ZedGraph的图形的方法中,添加曲线的部分进行进度的设置
if (yList != null && yList.Count > )
{
PointPairList list = null;
for (int i = ; i < yList.Count; i++)
{
//截取前100个循环进行显示
Global.Instance.PrepareCompareDataInOne = Global.Instance.PrepareCompareDataInOne.Where(p => (int.Parse(p.Id) < )).ToList();
//计算进度条步长
int step = ;
//曲线总数小于100
if (Global.Instance.PrepareCompareDataInOne.Count < )
{
step = / Global.Instance.PrepareCompareDataInOne.Count;
}
else
{
step = Global.Instance.PrepareCompareDataInOne.Count / ;
}
if(progressBar !=null)
{
//将进度条初始化为0%
progressBar.Position = ;
}
//循环添加曲线
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; //很关键,对应使用那个坐标值
if(progressBar !=null)
{
//添加成功一条曲线则进度条增加一个步数
progressBar.Position += step;
if (progressBar.Position >=)
{
//如果总进度已经大于100了 则赋值为100
progressBar.Position = ;
}
//更新进度条的进度
progressBar.Update();
}
}
if (progressBar != null)
{
//最终添加完所有曲线后将进度条设置为100%
progressBar.Position = ;
}
}
DevExpress的进度条控件ProgressBarControl的使用-以ZedGraph添加曲线进度为例的更多相关文章
- 在DevExpress GridControl中添加进度条控件 z
首先可以使用 DevExpress GridControl 自带的进度条控件. 但是我要用一个方法来设置所有的单元格进度,而不是每个单元格都要设置一遍,同时我想要根据进度值不同,进度条显示不同的颜色. ...
- Photoshop和WPF双剑配合,打造炫酷个性的进度条控件
现在如果想打造一款专业的App,UI的设计和操作的简便性相当重要.UI设计可以借助Photoshop或者AI等设计工具,之前了解到WPF设计工具Expression Blend可以直接导入PSD文件或 ...
- [转载]ExtJs4 笔记(8) Ext.slider 滚轴控件、 Ext.ProgressBar 进度条控件、 Ext.Editor 编辑控件
作者:李盼(Lipan)出处:[Lipan] (http://www.cnblogs.com/lipan/)版权声明:本文的版权归作者与博客园共有.转载时须注明本文的详细链接,否则作者将保留追究其法律 ...
- 用 CALayer 定制下载进度条控件
// // RPProgressView.h // CALayer定制下载进度条控件 // // Created by RinpeChen on 16/1/2. // Copyright © 2016 ...
- ExtJs4 笔记(8) Ext.slider 滚轴控件、 Ext.ProgressBar 进度条控件、 Ext.Editor 编辑控件
本篇要登场的有三个控件,分别是滚轴控件.进度条控件和编辑控件. 一.滚轴控件 Ext.slider 1.滚轴控件的定义 下面我们定义三个具有代表意义滚轴控件,分别展示滚轴横向.纵向,以及单值.多值选择 ...
- 【转】用emWin进度条控件做个表盘控件,效果不错
@2018-08-09 用emWin进度条控件做个表盘控件,效果不错
- 为OLED屏添加GUI支持6:进度条控件
为OLED屏添加GUI支持6:进度条控件 本文博客链接:http://blog.csdn.net/jdh99,作者:jdh,转载请注明. 环境: 主机:WIN10 开发环境:MDK5.13 MCU:S ...
- CProgressCtrl进度条控件实现进度滚动效果
关于CProgressCtrl 控件的基本操作网上有很多资料,可我想实现进度条中进度滚动效果,即很多时候程序出现的等待或启动画面,如下图: 实现这个效果的函数为SetMarquee(_In_ BOOL ...
- HslControls组件库 工业控件库 曲线控件 时间控件 管道控件 温度计控件 阀门控件 传送带控件 进度条控件 电池控件 数码管控件等等
本篇博客主要对 HslControls 组件做一个大概的总览介绍,更详细的内容可以参照页面里的子链接,还有github上的源代码,然后进行相关的学习,和使用. Prepare 先从nuget下载到组件 ...
随机推荐
- 02-EF Core笔记之保存数据
EF Core通过ChangeTracker跟踪需要写入数据库的更改,当需要保存数据时,调用DbContext的SaveChanges方法完成保存. 基本的添加.更新.删除操作示例如下: using ...
- HttpRunner学习7--引用CSV文件数据
前言 在之前的文章中,我们已经学习了 parameters 参数化,是在测试脚本中直接指定参数列表.这种方法简单易用,但如果我们的参数列表数据比较多,这种方法可能就不太适合了. 当数据量比较大的时候, ...
- 【AHOI 2013】差异
Problem Description 给定一个长度为 \(n\) 的字符串 \(S\),令 \(T_i\) 表示它从第 \(i\) 个字符开始的后缀.求 \(\sum_{1\leqslant i&l ...
- 管网平差的python程序
在市政给水管网当中,管网平差的目的是在已知节点流量.管段长度的情况下,求得各管段流量和对应的经济管径.本科生学习阶段了解并掌握管网平差原理及方法是必不可少的环节. 在下面的程序当中,将利用哈代克罗斯法 ...
- GetPrivateProfileString() 当 key 包含空格时,需要进行转义
使用 GetPrivateProfileString() 方法可以方便的读取 ini 格式文件中的内容,如: [section] tommy = worker 使用 C# 读取如下: 1. 先引入 G ...
- git常用情景和基础命令
git常用情景和基础命令 将项目克隆到本地 --xxx是git的地址 git clone xxxx 或者初始化git(github提供滴) --新建一个readme.md文件 echo "# ...
- 快速搭建用于测试的rtsp协议网络流媒体数据服务
背景: 最近根据项目需求,在平台系统中加入了视频监控显示功能,但是限于没有提供真实可用的监控摄像头数据,通过EasyScreenLive快速搭建了一个rtsp的流媒体服务,下面将实现步骤分享给大家,为 ...
- Linux命令详解 三
Linux用户和组的属性与权限本章结构1.用户账号和组账号概述2.用户账号和组账号管理3.查询账号信息4.查看目录或文件的属性5.设置目录或文件的权限6.设置目录或文件的归属 前言在linux中一切都 ...
- JMeter系列教程
认识JMeter工具 JMeter常用元件功能介绍 JMeter线程组 JMeter脚本三种录制方法 Jmeter组件介绍及其作用域和执行顺序 JMeter参数化 JMeter集合点 JMeter关联 ...
- 利用Haproxy搭建 HTTP 请求走私(Request smuggling)环境
Haproxy 介绍 HAProxy是一个使用C语言编写的自由及开放源代码软件,其提供高可用性.负载均衡,以及基于TCP和HTTP的应用程序代理. 请求走私(Request smuggling)概念证 ...