我有个一主画面,主画面内有一个子线程是Listener,接受客户端的信息这时我再主画面启动一个子画面,显示客户端的结果。我的问题是我怎么样把主画面子线程接受的结果,反映到子画面上》??????这个交互我不太明白!

解决方案 »

  1.   

    子线程Listener把客户端信息写到数据库,然后一个子画面从数据库读出来
      

  2.   

    子线程引用主画面,收到消息时调用主画面里面的函数,或者子线程公开事件让主画面代码订阅。
    修改界面时需要Invoke调用,否则会出错 delegate void delegate弹出消息(DateTime time,string msg);
    public void 弹出消息(DateTime time,string msg)
    {
    if(this.InvokeRequired==false)
    {
                                  修改界面
    }
    else
    {
    this.Invoke(new delegate弹出消息(弹出消息),new object[] { time,msg });
    }
    }
      

  3.   

    从.net2.0起要借助代理去实现,3楼的是正解