我这里有个线程,线程里面执行我的一个将Excel或者mdb文件中的大量数据导入的数据库中,因为数据多需要一个进度条,下面是写在线程函数中控制进度条的代码,点击执行按钮后 进度条是正确的 ,但是我切换一下界面 界面就死掉了 请问下如何更好的控制进度条,切换界面不会出现假死状态。真正的做到界面与线程分开progressBar1.Style = ProgressBarStyle.Blocks;
progressBar1.Maximum = dt.Rows.Count + 1;foreach (DataRow toDR in dt.Rows)
{ //循环导入数据
i++;
progressBar1.Value = i;
}//使用线程
thr = new Thread(new ThreadStart(ThreadChange));
thr.Start();private void ThreadChange()
{
MethodInvoker In = new MethodInvoker(ImportJinDuStart);
this.BeginInvoke(In);
}
progressBar1.Maximum = dt.Rows.Count + 1;foreach (DataRow toDR in dt.Rows)
{ //循环导入数据
i++;
progressBar1.Value = i;
}//使用线程
thr = new Thread(new ThreadStart(ThreadChange));
thr.Start();private void ThreadChange()
{
MethodInvoker In = new MethodInvoker(ImportJinDuStart);
this.BeginInvoke(In);
}
progressBar1.Maximum = dt.Rows.Count + 1;foreach (DataRow toDR in dt.Rows)
{ //循环导入数据
i++;
progressBar1.Value = i;
}把这块代码也放在线程中执行
下面加一句
Application.DoEvent();