教程集 www.jiaochengji.com
教程集 >  脚本编程  >  Asp.net  >  正文 c#进度条如何实现(附简单实例)

c#进度条如何实现(附简单实例)

发布时间:2016-03-03   编辑:jiaochengji.com
为大家介绍c#实现进度条的一个实例代码,用多线程方式实现进度条,有需要的朋友,可以参考下。

c#开发winform程序时,经常用到进度条(ProgressBar)显示进度信息,此时需要用到多线程控制进度条,否则窗口很容易假死(无法适时看到进度信息)。

程序界面类似如下图片:
进度条

第一步:设计界面,这个略过。
引用 using System.Threading;

第二步:定义一个代理,用于更新ProgressBar的值(Value)

//更新进度列表
private delegate void SetPos(int ipos); 

第三步:进度条值更新函数(参数必须跟声明的代理参数一样)

private void SetTextMessage(int ipos)
{
 if (this.InvokeRequired)
 {
     SetPos setpos = new SetPos(SetTextMessage);
     this.Invoke(setpos, new object[] { ipos});
 }
 else
 {
     this.label1.Text = ipos.ToString() + "/100";
     this.progressBar1.Value = Convert.ToInt32(ipos);
 }
}//www.jbxue.com

第四步:函数实现

private void button1_Click(object sender, EventArgs e)
{
 Thread fThread = new Thread(new ThreadStart(SleepT));//开辟一个新的线程
 fThread.Start();
}

第五步:新的线程执行函数:

private void SleepT()
{
 for (int i = 0; i < 500; i++)
 {
     System.Threading.Thread.Sleep(100);//没什么意思,单纯的执行延时
     SetTextMessage(100 * i / 500);
 }
}//www.jbxue.com

到此一个简单的进度条程序就做好了,更多复杂的实现,大家自行扩充吧。

您可能感兴趣的文章:
c#进度条如何实现(附简单实例)
html5如何实现简单进度条效果?动态进度条的实现(代码示例)
c# 进度条 ProgressBar的简单例子
Canvas实现波浪进度图(附demo)
在 Visual C# .NET 中建立一个平滑的进度条
6款新颖的jQuery和CSS3进度条插件推荐
PHP Ajax如何实现上传文件进度条动态显示进度
Illustrator制作线性条纹几何艺术图案教程分享
php文件上传代码大全(实例分享)
PHP 文件上传进度条的简单实现方法

关键词: 进度条   
[关闭]
~ ~