博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
实时读取进度条当前进度
阅读量:5283 次
发布时间:2019-06-14

本文共 809 字,大约阅读时间需要 2 分钟。

   

最近做了一个 自动升级程序  在  下载文件和 解压缩文件时  用到了 进度条        今天先把  进度条的使用  记录下 改天有时间 把自动升级 程序  再记录进来 

进度条  读取  离不开 线程        现在用两种方法 实现这个效果

一、用VS 里自带的Timer控件     

  int A =1;

        private void timer1_Tick(object sender, EventArgs e)
        {
            if(A<100)
            {
                A++;
                progressBar1.Value = A;
                label1.Text = A.ToString();
            }
        }

这个比较简单   在 【开始计数】事件中 启动 Timer        但是这种方法 有局限性        不灵活  下面 我们用  线程和委托 来实现 这个效果    这种方法  比较灵活 自由度高

二、用线程和委托 实现 进度条的读取

System.Threading.Thread tt;

        public delegate void SetNum(int i);
        private void SetText()
        {
            for (int a = 1; a <= 100; a++)
            {
                if (this.InvokeRequired)
                {
                    this.Invoke(new SetNum(SetNumDo), a);
                }
                Thread.Sleep(10);
            }
        }
        public void SetNumDo(int i)
        {
            progressBar1.Value = i;
            label1.Text = i.ToString();
        }   

 声明 委托   实现委托    然后在【开始计数】事件中 开启线程   调用

  tt = new Thread(() =>

            {
                SetText();
            });
            tt.IsBackground = true;
            tt.Start();

转载于:https://www.cnblogs.com/lzsin/p/4214086.html

你可能感兴趣的文章
sqlserver查询效率
查看>>
FoxMail邮件设置
查看>>
percona-toolkit 之 【pt-online-schema-change】说明
查看>>
[模板]大数加法
查看>>
ZeroBrane Lua脚本编辑器代码自动补全
查看>>
linux下播放mp3
查看>>
POJ1611-The Suspects-并查集
查看>>
笔记--cocos2d-x 3.0 环境搭建
查看>>
Unable to create an instance of the Java Virtual Machine
查看>>
jQuery实现鼠标经过时高亮,同时其他同级元素变暗的效果
查看>>
深入理解类成员函数的调用规则(理解成员函数的内存为什么不会反映在sizeof运算符上、类的静态绑定与动态绑定、虚函数表)...
查看>>
div最低高度设置
查看>>
Chrome浏览器正常,IE下界面却乱了
查看>>
关于不断刷新界面jsp+ajax
查看>>
课程总结
查看>>
gcc/g++ 如何支持c11 / c++11标准编译
查看>>
js高阶函数应用—函数防抖和节流
查看>>
牛客 545A 小A与最大子段和 & CF 660F Bear and Bowling 4
查看>>
eclipse 中java/scala 混合的maven项目 工作环境篇
查看>>
顺序栈与两栈共享空间-C语言实现
查看>>