日期:2014-05-18 浏览次数:20902 次
private void CopyWithProgress(string[] filenames)
{
    // Display the ProgressBar control.
    pBar1.Visible = true;
    // Set Minimum to 1 to represent the first file being copied.
    pBar1.Minimum = 1;
    // Set Maximum to the total number of files to copy.
    pBar1.Maximum = filenames.Length;
    // Set the initial value of the ProgressBar.
    pBar1.Value = 1;
    // Set the Step property to a value of 1 to represent each file being copied.
    pBar1.Step = 1;
    
    // Loop through all files to copy.
    for (int x = 1; x <= filenames.Length; x++)
    {
        // Copy the file and increment the ProgressBar if successful.
        if(CopyFile(filenames[x-1]) == true)
        {
            // Perform the increment on the ProgressBar.
            pBar1.PerformStep();
        }
    }
}
------解决方案--------------------
 两个线程,一个是进度条的,一个是你的时间查询          
          Thread s2 = new Thread(new ThreadStart(NewMothod));
           s2.Start();
           Thread s1 = new Thread(new ThreadStart(Search));
           s1.Start();
这是实现进度条的方法:
private void NewMothod()
       {
           for (int i = 1; i <= 10; i++)
           {
               Thread.Sleep(100);
               progressBar.Value = i * 10;
               if (autoEvents.WaitOne(10,false))
               {
                   progressBar.Value = 100;
                   break;
               }
           }  
       }
看看对你有没有帮助!!!
------解决方案--------------------
补充一点,当你的数据导入完成之后可以出发一个事件,表示导入完成,可以通知进度条!!