2024年3月23日发(作者:)

c# 进度条的使用(例子)

在用c#做WinFrom开发的过程中。我们经常需要用到进度条(ProgressBar)用于显示进度信息。这时候

我们可能就需要用到多线程,如果不采用多线程控制进度条,窗口很容易假死(无法适时看到进度信息)。

下面我就简单结合一个我写的例子给大家做一个介绍。

首先看一下程序界面

附加源码:

using System;

using c;

using entModel;

using ;

using g;

using ;

using ;

using ing;//引入一个多线程空间

namespace ProgressBar

{

public partial class Form1 : Form

{

//更新进度列表

private delegate void SetPos(int ipos);

public Form1()

{

InitializeComponent();

}

Thread thr;

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

private void SetTextMessage(int ipos)

{

if (Required)

{

SetPos setpos = new SetPos(SetTextMessage);

(setpos, new object[] { ipos });

}

else

{

= ng() + "/100";

= 32(ipos);

}

}

//函数实现

private void button1_Click(object sender, EventArgs e)

{

thr=new Thread(new ThreadStart(SleepT));//开辟一个新的线程

();

}

//新的线程执行函数

private void SleepT()

{

for (int i = 0; i < 500; i++)

{

(100);//没什么意思,单纯的执行延时

SetTextMessage(100 * i / 500);

}

}

private void button2_Click(object sender, EventArgs e)

{

();

}

private void Form1_FormClosing(object sender, FormClosingEventArgs e)

{

();

();

}