求教线程问题——线程间操作无效

  我的代码如下:在执行【刷新】操作的时候由于数据量比较大,所以用了多线程,弹出一个等待窗体

现在的问题的我不清楚改怎么样关闭这个窗体

  public void SelectData()
        {
            backgroundWorker1.RunWorkerAsync();
            BindSlipMsgToDataSet(); //执行从数据库刷新数据的功能操作到页面上的数据集中

            //如果执行完后 执行 关闭等待窗体——这时候就报错【线程间操作无效: 从不是创建控件的线程访问它】
            if (bar != null)
            {
                bar.Close();
                bar = null;
            }
        }
       
        RealSailing.UI.CVSPKG.SlipUI.InitProgressBar bar = null;//等待窗体
        private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
        {
            bar= new InitProgressBar();
            bar.ShowText = "正在查询数据,请稍后...";
            bar.ShowDialog();
        }

原文地址:https://www.cnblogs.com/6303c/p/1828353.html