一个类似于qq的聊天工具,登录后,如果遇到连接异常触发事件后需要将主窗体隐藏,显示登录界面窗体,但在主窗体的this.hide()的时候碰到问题:不能从不是创建主窗体的线程访问主窗体,于是不能调用this.hide()觉得这个问题应该挺普遍的,想问一下各位是如何解决的?

解决方案 »

  1.   

    这个方法很多了给你个
       this.Invoke((MethodInvoker)delegate {this.hide() });
      

  2.   

    线程需要同步访问其它线程的界面,            Form f = new Form();
                if (f.InvokeRequired)
                {
                    f.Invoke(你的方法);//这里需要delegate的包装
                }
                else
                {
                    f.你的方法
                }
      

  3.   

    多谢,自己winform用得还是很生疏啊