您可以
BackgroundWorker()用来解决这类问题。
首先定义一个类的全局变量,
BackgroundWorker()例如
private BackgroundWorker bgw;
然后在执行查询(如
button1_Click()事件或其他任何内容)的过程中使用下面的代码。
bgw = new BackgroundWorker();bgw.WorkerReportsProgress = true;bgw.ProgressChanged += new ProgressChangedEventHandler(bgw_ProgressChanged);bgw.RunWorkerCompleted += new RunWorkerCompletedEventHandler(bgw_RunWorkerCompleted);bgw.DoWork += new DoWorkEventHandler(bgw_DoWork);bgw.RunWorkerAsync();
现在定义如下方法:
void bgw_DoWork(object sender, DoWorkEventArgs e) { //Your time taking work. Here it's your data query method. CheckSsMissingDate(); }void bgw_ProgressChanged(object sender, ProgressChangedEventArgs e) { //Progress bar. progressBar1.Value = e.ProgressPercentage; } void bgw_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) { //After completing the job. MessageBox.Show(@"Finished"); }


