进度条使用 主要掌握下边几个命令,

 //水平进度条
progressBarControlH.Properties.Minimum = 0;
//1:设置最大数量,比如读取txt文件内容,先要查出行数,然后给maxinum赋值,此处是进度条的最大容量.
progressBarControlH.Properties.Maximum = 100;
//2: 进度条的进度,读取一行,内部自动计算的
   while (sr.Peek() > -)
{
line = sr.ReadLine().ToString().Replace("\r\n", "");
//跳过行空格
if (line.Trim() != "")
{
// progressBarControlH.Text = "开始过滤字段生成文件....."; // System.Threading.Thread.Sleep(120);
progressBarControlH.PerformStep();
// progressBarControlH.Position += 1;
// progressBarControlH.EditValue = i + 1;
//处理当前消息队列中的所有windows消息,不然进度条会不同步
System.Windows.Forms.Application.DoEvents();
......................}

下边是所有的步骤,

1:初始化进度条 ,最大值等查完txt行数赋值.

    private void panelControl1_Paint(object sender, PaintEventArgs e)
{
//水平进度条
progressBarControlH.Properties.Minimum = ;
//progressBarControlH.Properties.Maximum = 2000000;
progressBarControlH.Properties.Step = ;
progressBarControlH.Properties.ProgressViewStyle = DevExpress.XtraEditors.Controls.ProgressViewStyle.Solid;
progressBarControlH.Position = ;
progressBarControlH.Properties.ShowTitle = true;
progressBarControlH.Properties.PercentView = true;
progressBarControlH.Properties.ProgressKind = DevExpress.XtraEditors.Controls.ProgressKind.Horizontal;
}

2:读取text行数

    int CalculateCount(string filepath)
{
//定义一个变量
int lineCount = ;
//文件路径
// string path = @"D:\SQL.txt";
try
{
using (StreamReader sr = new StreamReader(filepath))
{
//循环读取
while (sr.Peek() >= )
{
sr.ReadLine();
lineCount++;
}
}
return lineCount;
// this.label1.Text = "文件行数为:" + lineCount.ToString();
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
return ;
}
}

3:赋值进度条最大值,并开始统计进度

   int count= CalculateCount(file);
lblcount.Visible = true;
lblcount.Text = count.ToString();
progressBarControlH.Properties.Maximum = count;
//删除后缀 存入files类Filename属性 ,后用于存在word第一行
StreamReader sr = new StreamReader(file, System.Text.Encoding.Default);
// filecontents = new Queue<FileContent>();
String line;
// while (sr.EndOfStream!=true)
StringBuilder sb = new StringBuilder();
while (sr.Peek() > -)
{
line = sr.ReadLine().ToString().Replace("\r\n", "");
//跳过行空格
if (line.Trim() != "")
{
// progressBarControlH.Text = "开始过滤字段生成文件....."; // System.Threading.Thread.Sleep(120);
progressBarControlH.PerformStep(); // progressBarControlH.Position += 1;
// progressBarControlH.EditValue = i + 1;
//处理当前消息队列中的所有windows消息,不然进度条会不同步
System.Windows.Forms.Application.DoEvents();

帮助文件

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;

最后效果

读取txt文件加DevExpress之进度条progressBarControl的更多相关文章

  1. Java 读取txt文件,读取结果保存到数据库

    需求:有一个很大的txt文件(1,000,000条数据),从txt中读取有用数据库后保存到Oracle数据库中 利用Java实现: 1.加载文件后一行一行读取 2.数据库连接后按行插入到数据库 pac ...

  2. atitit.文件上传带进度条的实现原理and组件选型and最佳实践总结O7

    atitit.文件上传带进度条的实现原理and组件选型and最佳实践总结O7 1. 实现原理 1 2. 大的文件上传原理::使用applet 1 3. 新的bp 2 1. 性能提升---分割小文件上传 ...

  3. java 读取TXT文件的方法

    java读取txt文件内容.可以作如下理解: 首先获得一个文件句柄.File file = new File(); file即为文件句柄.两人之间连通电话网络了.接下来可以开始打电话了. 通过这条线路 ...

  4. java读取TXT文件的方法

    java读取txt文件内容.可以作如下理解: 首先获得一个文件句柄.File file = new File(); file即为文件句柄.两人之间连通电话网络了.接下来可以开始打电话了. 通过这条线路 ...

  5. PHP读取txt文件到数组

    $file_path = "test.txt"; if(file_exists($file_path)){ $file_arr = file($file_path); for($i ...

  6. Javascript写入txt和读取txt文件的方法

    文章主要介绍了Javascript写入txt和读取txt文件的方法,需要的朋友可以参考下1. 写入 FileSystemObject可以将文件翻译成文件流. 第一步: 例: 复制代码 代码如下: Va ...

  7. 关于读取txt文件中文乱码问题

    在处理文件的过程中,读取txt文件出现中文乱码.这种情况是由于编码字符不一致导致. public static string ReadFile(string path, string fileName ...

  8. JAVA读取TXT文件、新建TXT文件、写入TXT文件

    1.创建TXT文件 按照正常的逻辑写就好 先定义一个文件给定一个路径——>判断这个路径上这个文件存不存在——>若不存在则建立,try/catch根据程序提示自动生成就好 2.读取TXT文件 ...

  9. 用C#读取txt文件的方法

    1.使用FileStream读写文件 文件头: using System;using System.Collections.Generic;using System.Text;using System ...

随机推荐

  1. JAVAEE学习路线分享

    今天把我的教学经验分享给大家.适合大多数人的学习路线.注:目前作者已经转行做java培训. 首先是培养兴趣.先开始学习HTML知识.也就是做网页,从这里开始比较简单,就是几个标签单词需要记住. 接着开 ...

  2. docker - 启动container时出现 [warning] : ipv4 forwarding is disabled. networking will not work

    起因 今天在一台新的centos宿主机上安装docker,由于关闭了iptables,在此之后启动container的时候会出现警告: WARNING: IPv4 forwarding is disa ...

  3. 实现AOP功能的封装与配置的小框架

    内容 java基础巩固笔记 - 实现AOP功能的封装与配置的小框架 设计(目录): XXX = java.util.ArrayList中 代码 Advice接口 MyAdvice类 BeanFacto ...

  4. as 快捷键

    as  快捷键 Ctrl+G / Ctrl+Alt+Shift+G:查询变量或者函数或者类在哪里被使用或被调用,后者是前者的复杂表现,可以选择查询范围等. Alt+H:查找功能,全局查找 F4:查看类 ...

  5. linux vim编辑

    常用vim操作自我总结,大神请回避: vim 打开退出保存 打开:直接打开 vim practice_1.txt也可以先打开vim,后:e 文件路径 保存::w 文件名或者退出保存:wq! 普通模式下 ...

  6. C++ 宏定义#define 中##的使用

    在C++的宏定义中,符号##一般是用于连接,包括参数的连接,参数与标识符的连接等,然后形成一个新的标识符. 下面举几个例子来进行说明. eg1: #define ADD(a,b) a##b #defi ...

  7. centos7使用cobbler(2.8)批量部署操作系统之二

    1. Cobbler常用命令 1.1 查看cobbler帮助 # cobbler --help usage ===== cobbler <distro|profile|system|repo|i ...

  8. Java读取property配置文件

    读取配置文件已经成了Java程序员工作的一项必备技能. 配置文件的优点: 可维护性好 怎么个可维护性好呢? 它会让程序中变化的地方很灵活的配置,不需要修改代码. Java程序部署到服务器上去之后就变成 ...

  9. CSS命名实践

    前面的话 每次写HTML结构涉及到CSS命名时,都要挣扎一番.关于CSS命名的规范,市面上有不少,如OOCSS.SMACSS.BEM和MVCSS等.在这里面最火的应该算BEM了.本文将详细介绍CSS命 ...

  10. IIS 反向代理 golang web开发

    一. beego 开发编译 bee run 后会编译成 exe文件 编译生成后发布文件结构为 cmd 运行 cd D:/run beegoDemo.exe run 默认配置端口 不能为 80 跟iis ...