由于需要在窗口的load事件中就开始业务,为了使窗口可以显示,不至于阻塞而看不到窗体,在load事件中使用了多线程处理业务,这样窗口就可以显示了。为了改变窗体中的控件状态,使用了一个委托        public delegate void print_msgs(string msg);
        public void print_msg(string msg)
        {
            if (this.textBox1.InvokeRequired)
            {
                print_msgs s = new print_msgs(print_msg);
                this.Invoke(s, new object[] { msg });
            }
            else
            {
                this.textBox1.AppendText(msg + (char)13 + (char)10);
            }
        }
现在有一个问题,在线程中使用了Application.Restart()将应用程序重启,但重启后线程还没有中止,而是继续访问控件,造成异常“无法访问已释放的对象。对象名:“TextBox”。”对应的是这句this.textBox1.AppendText(msg + (char)13 + (char)10);,请问如何才能达到这个功能,在子线程中重启主业务,并且可以按计划执行预计业务