读数据库要同步很难达到,可用多线程.
声明多一个线程函数,把操作数据的操作放在这个函数里就行了,最简单的线程同步就是定义全局变量,需等待的线程不断循环判断该全局变量的值,直到满足条件就跳出循环.操作数据库的那个函数当完成操作后就改变那个全局变量的值来使那个等待线程跳出等待.在这里写代码的话三五百句也说不完
你可以用假进度,数据操作和进度条不同步,但能控制开始和完成. 1)定义一个全局变量 int bFinished,和一个线程Thread th ,设你的过程为 SaveDb();
bFinished = 0;
th = new Thread(New ThreadStart(progress)); th.Start();
SaveDb();
bFinished = 1;
void progress()
{
while(bFinished != 1)
{
//在这里把进度条移动一点点一点点
Sleep(500);
Application.DoEvents();
}
//退出循环,进度条变成100%
...
}