当前位置:  编程技术>.net/c#/asp.net

c# 进度条 ProgressBar的简单例子

    来源: 互联网  发布时间:2014-08-30

    本文导语:  代码如下: /// /// 进度条 ProgressBar /// www. /// using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Net; using System.Threading; using System.Diagn...

代码如下:

///
/// 进度条 ProgressBar
/// www.
///
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Net;
using System.Threading;
using System.Diagnostics;
 
namespace Update
{
    public partial class FrmUpdate : Form
    {
        //设置进度条的委托
        public delegate void SetProgressDelegate(int maximum, int value, string msg);
        //声明进度条事件
        public event SetProgressDelegate SetProgress;
        //关闭进度条的委托
        public delegate void CloseProgressDelegate();
        //声明关闭进度条事件
        public event CloseProgressDelegate CloseProgress;
        UpdateService.Service service = new UpdateService.Service();//webservice服务
        public FrmUpdate()
        {
            InitializeComponent();
        }
 
        private void FrmUpdate_Load(object sender, EventArgs e)
        {
            try
            {
                //用子线程工作
                Thread t = new Thread(new ThreadStart(DownLoad));
                t.IsBackground = true;//设为后台线程
                t.Start();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
        /// 
        /// 下载更新
        /// 
        private void DownLoad()
        {
            try
            {
                SetProgress += new SetProgressDelegate(FrmUpdate_SetProgress);
                string url = service.GetUrl();//获取下载地址
                string[] files = service.GetFiles();//获取下载文件数组
                WebClient wc = new WebClient();
                for (int i = 0; i < files.Length; i++)
                {
                    wc.DownloadFile(url + files[i], files[i]);//下载
                    FrmUpdate_SetProgress(files.Length, i + 1, files[i] + "(" + (i + 1).ToString() + "/" + files.Length + ")");//调用设置进度条事件
                }
                wc.Dispose();
                CloseProgress += new CloseProgressDelegate(FrmUpdate_CloseProgress);
                FrmUpdate_CloseProgress();//调用关闭进度条事件
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
        /// 
        /// 实现设置进度条事件
        /// 
        /// 进度条最大值
        /// 进度条当前值
        private void FrmUpdate_SetProgress(int maximum, int value, string msg)
        {
            if (this.InvokeRequired)
            {
                this.Invoke(new SetProgressDelegate(FrmUpdate_SetProgress), new object[] { maximum, value, msg });
            }
            else
            {
                this.progressBar1.Maximum = maximum;//设置进度条最大值
                this.progressBar1.Value = value;//设置进度条当前值
                label1.Text = msg;//设置显示的信息
            }
        }
 
        /// 
        /// 实现关闭进度条事件
        /// 
 /// www.
        private void FrmUpdate_CloseProgress()
        {
            if (this.InvokeRequired)
            {
                this.Invoke(new CloseProgressDelegate(FrmUpdate_CloseProgress), null);
            }
            else
            {
                MessageBox.Show("升级成功!");
                IniClass ini = new IniClass(Application.StartupPath + @"Update.ini");
                string serviceVersion = service.GetVersion();//服务端版本
                ini.IniWriteValue("update", "version", serviceVersion);//更新成功后将版本写入配置文件
                Application.Exit();//退出升级程序
                Process.Start("Main.exe");//打开主程序Main.exe
            }
        }
    }
}

    
 
 

您可能感兴趣的文章:

  • c#进度条如何实现(附简单实例)
  • c#进度条ProgressBar学习笔记
  • c#进度条 progressBar的小例子
  • c# 控制台输出进度与百分比的代码
  • C# cmd中修改显示(显示进度变化效果)的方法
  • C#控制台输出进度和百分比的实例代码
  • c# 多线程操作progressBar进度条控件的例子
  • C# 多线程更新进度条progressBar控件的代码一例
  • c#进度条 progressBar 使用方法的小例子
  • C#进度条ProgressBar和定时器Timer控件的应用举例
  • C# 多线程复制文件并显示进度条的代码
  • C# Winform下载文件并显示进度条的实现代码
  • c#根据文件大小显示文件复制进度条的实现代码
  • C#中常使用进度条的代码
  • c#根据文件大小显示文件复制进度条实例
  • jQuery进度条插件 jQuery progressBar
  • Prototype进度条 Control.ProgressBar
  • android ListView和ProgressBar(进度条控件)的使用方法
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 我要为读写一个数据表做一个进度条如何做
  • jQuery进度条插件 jQuery progressBar iis7站长之家
  • kernel启动的时候logo进度条显示的问题~~
  • LINUX 下如何实现删除文件进度条
  • jquery进度条代码 jquery模拟页面加载进度
  • 请问BASH如何查询一个程序完成的进度
  • 命令进度查看工具 cv
  • jQuery 进度按钮 ProgressButtonStyles
  • 网站进度栏自动化 Pace
  • 网页元素进度条 progress.js
  • JavaScript进度条 jsProgressBarHandler
  • jQuery进度条插件 jQuery Progression
  • 关于Applet进度显示的问题
  • 关于进度显示的简单问题
  • 不知道那位写过显示进度条,进来指导一下!
  • 如何知道Linux格式化进度
  • 关于tar命令压缩进度的计算
  • 如何制作进度条?
  • 进度条问题
  • jQuery 进度条插件 nanobar.js


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3