首页 ┆ 网站地图 ┆ 在线留言 ┆ 游戏资讯 ┆ 资源下载 ┆ 端午节祝福 ┆ 迅雷在线影视
设为首页
加入收藏
联系我们
高级搜索
您当前的位置: 主页>NET专区>C#语言>c#子线程控制进度条的一个简单例子
c#子线程控制进度条的一个简单例子
来源: 发布时间:2008-05-06 发布人: 浏览: 人次   字体: [ ]  
   c#中子线程控制进度条的一个简单例子
   using
 System;
using System.ComponentModel;
using System.Windows.Forms;
namespace WindowsApplication4
{
    
/// <summary>
    
/// gui 类
    
/// </summary>

    public partial class Form1 : Form
    
{
        
public Form1()
        
{
            InitializeComponent();
        }

        
private void button1_Click(object sender, EventArgs e)
        
{
            
//用子线程工作
            new System.Threading.Thread(new System.Threading.ThreadStart(StartDownload)).Start();
        }

        
//开始下载
        public void StartDownload()
        
{
            Downloader downloader 
= new Downloader();
            downloader.onDownLoadProgress 
+= new Downloader.dDownloadProgress(downloader_onDownLoadProgress);
            downloader.Start();
        }

        
//同步更新ui
        void downloader_onDownLoadProgress(long total, long current)
        
{
            
if (this.InvokeRequired)
            
{
                
this.Invoke(new Downloader.dDownloadProgress(downloader_onDownLoadProgress), new object[] { total, current });
            }

            
else
            
{
                
this.progressBar1.Maximum = (int)total;
                
this.progressBar1.Value = (int)current;
            }

        }

    }


    
/// <summary>
    
/// 下载类
    
/// </summary>

    public class Downloader
    
{
        
//委托
        public delegate void dDownloadProgress(long total,long current);
        
//事件
        public event dDownloadProgress onDownLoadProgress;
        
//开始模拟工作
        public void Start()
        
{
            
for (int i = 0; i < 100; i++)
            
{
                
if (onDownLoadProgress != null)
                    onDownLoadProgress(
100, i);
                System.Threading.Thread.Sleep(
100);
            }

        }

    }

}

相 关 文 章   发布商链接
·什么是泛型编程思想?及其简单的应用...
·如何使用C#获取IIS服务器版本?
·如何在c#中去掉字符串中的回车符?
·C#如何从文本文件读取信息并使用Arra...
·什么是泛型?泛型的一些概述
·C#对timer类的使用操作代码
·如何在c#中获取事件注册的方法
·如何在C#中插入照片到Excel文档
·C#函数中返回多个值的两种方法介绍
·怎样在C#中删除只读文件及其获取相应...
 §最新评论:(评论内容只代表网友观点,与本站立场无关!)
网名: 验证码:  【所有评论】【↑返回顶部
评 分: 12 345
评论内容:(不能超过500字,请自觉遵守互联网相关政策法规。[按 Ctrl+Enter 可直接提交]
注意:请勿在本站发布政治话题、色情及违反法律的内容。
IT知道网 声明:刊登此文章是为了传递更多信息,文章内容仅供参考,转载请注明出处。
推 荐 文 章
·有助快速理解C#委托和事件之...
·C#泛型学习笔记总结
·c#语言从dbf数据库提取数据并
·C#编写控制线程的运行和线程...
·怎样在C#中删除只读文件及其...
·C#函数中返回多个值的两种方...
·如何在C#中插入照片到Excel文
·如何在c#中获取事件注册的方...
·C#对timer类的使用操作代码
·什么是泛型?泛型的一些概述
·C#如何从文本文件读取信息并...
·如何在c#中去掉字符串中的回...
·如何使用C#获取IIS服务器版本...
·什么是泛型编程思想?及其简...
·C#如何获取文件路径中的文件...
热 门 文 章
·c#中收发邮件处理代码(POP3,...
·C#如何获取文件路径中的文件...
·什么是c#深拷贝与浅拷贝及其...
·C#中关于四舍五入函数的讨论...
·c#中的ArrayList属性祥解及其...
·C#语言实现创建、删除和移动...
·快速进行List排序的通用方法...
·C#对timer类的使用操作代码
·String.Split 方法使用及其代...
·如何在c#中去掉字符串中的回...
·用C#编写ActiveX控件代码实例
·C#语言实现从XML文件导出数据...
·C#如何从文本文件读取信息并...
·浅谈接口和抽象类的区别,加...
·C#语言绘制实时曲线图代码实...
网站首页 - 关于本站 - 加入收藏 - 网站地图 - 友情连接 - 在线留言 - 联系我们 - 返回顶部
Copyright © 2007 IT知道网.[冀ICP备07026896号]. All Rights Reserved .