C#.net 进度条控件使用

来源:百度知道 编辑:UC知道 时间:2024/06/23 01:59:32
有个封装好的将Daset数据集写到EXCEL里面的方法,例如CreatExcel(Daset ds)
因为数据条数较大所以窗体界面成死机状态,想写个进度条,用来判断这个CreatExcel方法执行完了没有。请哪位高手指点下。万分感激!
知道Dateset数据的条数,不知道大小。注意只是判断往Excel里写完没?也就是判断这个方法CreatExcel(Daset ds)到底执行完没,里面封装的东西不能动。谢谢!
死机?
private void Progress()
{
try
{
do
{
//Excel作成状况(blnThread = false:未完成)
if (progressBar1.Value < progressBar1.Maximum)
{
Thread.Sleep(500);
progressBar1.Value += 20;
}
else
{
Thread.Sleep(500);
progressBar1.Value = 100;
Thread.Sleep(100);
progressBar1.Value = 20;
}
}
wh

1L说的没错, 把CreateExcel放在一个单独的线程里,和主界面线程分开,才不会出现界面假死.单纯地使用一个进度条也不行,因为进度条也属于主界面进程里的对象.在处理CreateExcel的时候也会线程阻塞,直到CreateExcel完成.

Thread main = new Thread(new ThreadStart(delegate()
{
//生成Excel并更新进度条
}));
main.Start();

对这个不了解。

这个要用多线程来做, 界面单独一个线程才不会死机