我做了一个局域网聊天工具 客户端有一个线程抓取消息  假设客户D正在和A,B,C聊天(就有3个聊天窗口)
我怎么做才能将抓到的消息 传到对应的窗体上?谢谢!!!!!!

解决方案 »

  1.   


            delegate void setDataGridDelegate();        /// <summary>
            /// 线程函数地址
            /// </summary>
            private void A()
            {
                setDataGridDelegate dataGridDelegate = new setDataGridDelegate(setDataGrid);
                if (!this.gridControlVIP.IsDisposed)
                {
                    this.gridControlVIP.Invoke(dataGridDelegate);
                }
            }        /// <summary>
            /// 委托的函数
            /// </summary>
            private void setDataGrid()
            {
            
            }
      

  2.   

    能具体点吗? 我的聊天窗口为From2 我在里面写了个 updateTxe委托
     public delegate void dpdataMgs(string mgs);
     public static dpdataMgs _dpdataMgs = null;
    public Form2()
            {
                InitializeComponent();
                _dpdataMgs = new dpdataMgs(update);
            }
    private void update(string mgd)
            { textBox1.AppendText(mgd); }  但是再new一个窗体 消息就传到 刚new的这个窗体上来了
      

  3.   

    接受消息时 就采用Form2._dpdataMgs.Invoke(msg);
    消息 总是传到最新的 窗体上去
      

  4.   

    利用委托在窗体之间通讯
    http://www.94cto.com/2010/0318/9679.html
      

  5.   

    荣国多new 几个MainFrm 消息都会传到new的窗体上 怎么区分?
    各位大虾 最好贴点代码  给思路也可以