点击button1开始读取数据库的线程。
读取结束后button1.Enabled = true;这种效果怎样实现? 
 try
{
       this.button1.Enabled = false;
       Thread t = new Thread(new ThreadStart(BeginSync));
       DBManager.delegateSetProgressBar = new SetProgressBarDelegate(this.SetProgressBar);
       t.Start();
 }
catch (ThreadAbortException)
{
      this.button1.Enabled = true;
}
finally
{
      this.button1.Enabled = true;
}这段代码不好用。请教!

解决方案 »

  1.   

    简单点。
    this.button1.Enabled = false;
    Thread t = new Thread(new ThreadStart(BeginSync));
    DBManager.delegateSetProgressBar = new SetProgressBarDelegate(this.SetProgressBar);
    t.Start();在SetProgressBar方法里判断是否已经读取完,然后button1.Enabled = true;
      

  2.   

    可以使用事件通知,或委托调用,这里有完整的例子,不过不是访问数据库,
    http://blog.csdn.net/zhzuo/archive/2004/06/15/22038.aspx
      

  3.   

    可用时间 button.enable=true写在 SetProgressBar这个函数里面不就可以了啊