高分求教,我在服务端发送一条信息后,客户端用多线程去接受,并且去new一个窗口出来,但是,窗口老是不能正常显示,是怎么回事情啊

解决方案 »

  1.   

    线程中new出来的Form,要用 showdialog()显示,不然是不会出来,显一下就死了!
      

  2.   

    private void ReceiveChat()
    {
    bool keepalive = true; while(keepalive)
    {
    try
    {
    EndPoint tempRemoteEP = stRead.RemoteEndPoint; Byte[] byRead = new byte[1024];
    int iRead = variable.stSend.ReceiveFrom(byRead,ref tempRemoteEP);
    Byte[] byText = new byte[iRead];
    Array.Copy(byRead,0,byText,0,iRead);
    string chatter = System.Text.Encoding.Default.GetString(byText); string[] tokens = chatter.Split(new char[]{'|'});

    if(tokens[0] == "CHAT")
    {
    if(imWindow == null)
    {
    imWindow = new IMWindow();
    if(imWindow.Visible == false)
    {
    imWindow.Show();
    }
    }
    imWindow.rtbox_MessageHistory.AppendRtf(tokens[2]);
    imWindow.rtbox_SendMessage.Text = String.Empty;
    }

    }
    catch(Exception){}
    }
    }
      

  3.   

    showdialog()第二次就接受不到数据了啊
      

  4.   

    imWindow.Show(); ==> imWindow.ShowDialog();