最近在写一个局域网聊天工具,普通richtxtbox发送文字没问题。后来导入了类似QQ表情的控件,于是乎,问题出来了,图片发送不了。
网上找了办法,说是用richtxtbox.rtf替代richtxtbox.Text。但是小弟整了好几天,依旧没法解决。祈求高手。接收数据代码:if (this.gifRichTextBox1.Text != "")
                                {
                                    this.gifRichTextBox1.Text = gifRichTextBox1.Text + "\n" + this.TBIp.Text + ":" + msg.Substring(3) + "    GetData";
                                }
                                else
                                {
                                    this.gifRichTextBox1.Text = this.TBIp.Text + ":" + msg.Substring(3) + "    GetData";
                                }
发送数据:
 public void SendData(string m)
        {
           // string msg = this.gifRichTextBox2.Text;
            string msg = m;
            if (msg != "")
            {
                IPEndPoint pp = new IPEndPoint(IPAddress.Parse(i), port);
                Socket client = new Socket(AddressFamily.InterNetwork,
                        SocketType.Dgram, ProtocolType.Udp);
                try
                {
                    client.Connect(pp);                    byte[] buff = Encoding.Default.GetBytes(msg);
                    client.Send(buff);
                }
                catch
                {
                    client.Shutdown(SocketShutdown.Receive);
                    client.Close();
                }
            }
        }

解决方案 »

  1.   

    不能简单的用RichTextBox作为容器,当你放入一个gif格式的动态图片时,它也显示为静态的,还有,如果你拖入文件呢?
    要对这些格式引入标记特殊处理
      

  2.   


    呵呵。我对richtextbox有进行重构,能显示gif图片的。就是数据发送问题。
      

  3.   

    你发的这问题,只是程序的小bug,设断点调试一下就行了
      

  4.   

    呵呵。就是这点小BUG。。弄了两天没弄好