timer控件自己不是一个线程吗?

解决方案 »

  1.   

    多线程,,,,
    ProcessBar里面的进度条做个假的
      

  2.   

    试试看这样:
    private void button1_Click(object sender, System.EventArgs e)
    {
      progressBar1.Step = 1;
      timer1.Start ();
      Application.DoEvents(); 
    …… …… ……
    数据库查询
    …… …… ……
      timer1.Stop ();
    }
    //timer_tick
    private void timer1_Tick(object sender, System.EventArgs e)
    {
    if(progressBar1.Value < 100 )
    {
      progressBar1.PerformStep ();
      progressBar1.Refresh();
    }
    else
    {
      timer1.Stop ();
    }
    }