我想在线程中 从数据库中加载数据(没有数据的时候能创建,能创建数据表)
  加载完成之后再显示这些数据
 之前用的backgroundwoker 
 这个好像可以做成功
 但是 没有数据表的时候创建数据表的时候会出问题 现在我想改成用线程中
 创建一个线程  ,线程结束通知界面线程
 界面线程来显示加载这个信息不要让主界面while(true)来判断加载线程时候已经完成,这样界面一直卡着
 我把用后台就 没有任何意义了

解决方案 »

  1.   

    public void Button1_Clicked(object sender,EventArgs e)
    {
    new Thread((ThreadStart)delegate
    {
    //读取数据库
    this.Invoke((EventHandler)delegate
    {
    //更新界面。肯定没错
    };
    }).Start();
    }
      

  2.   

    exp:        private void RunThr()
            {
                this.Invoke(new MethodInvoker(delegate
                {
                    this.label1.Text = "start do worker...";
                }));            //do Your Work            this.Invoke(new MethodInvoker(delegate
                {
                    this.label1.Text = "end do worker...";
                }));
            }        private void DoRun()
            {
                Thread thr = new Thread(new ThreadStart(RunThr));
                thr.IsBackground = true;
                thr.Start();
            }