本帖最后由 laj0600310219 于 2010-11-08 17:34:20 编辑

解决方案 »

  1.   

    关闭A窗体的时候可以判断 B窗体是否已经打开。
    From2 frm;
    if (frm== null || frm.IsDisposed)
                {
                }
      

  2.   

    1.richtextbox可以当容器使用,   
    PictureBox   pb   =   new   PictureBox();   
    pb.Image   =   (new   Icon("App.ico")).ToBitmap();   
    this.richTextBox1.Controls.Add(pb);
    这个PictureBox弹出菜单,保存PictureBox的内容就行了
    2.肯定要存在前电脑上,多个头像,就是多个用户,分开不同的目录或文件,读出来肯定不混杂
    3.那是特殊的窗体
    4.用线程
      

  3.   

    1、在richtextbox中,对方发过来的图片,如何实现右键保存到本地的功能?如何取得选中的图片?
      右键选中并保存吧,你应该能获取当前的图片(一个对象)
    2、对方发信息过来的时候,一般都会有头像跳动提示。当点击跳动的头像的时候,就弹出聊天窗口,但是如果不点击头像的时候,对方发送过来的信息,该怎么处理?是保存在本地,点击窗口的时候,再读取到窗口中,还是怎么处理?但是如果有多个头像在跳动的时又该怎么处理?
    未接收的消息保存到服务器和本地,当接收了,从服务器删除消息,多个头像跳动就排队吧,弹出一个窗口再弹出另一个窗口3、系统托盘的弹窗是怎么实现的?
    C#很简单,就一个NotifyIcon控件(好像叫这个名字)4、有一父窗体A,在A中new了一个子窗口B。怎么实现在关闭A的同时,B也一起关闭?望高手指点迷津谢过(关闭A的时候,B自然会关闭,不用担心)
      

  4.   

    frm是窗口A中的某个按钮中实例化的,属于局部变量,所以,在关闭事件中,对于局部变量是不能引用的所以这个方法好像不太可行
      

  5.   

    之前也有试过类似的方法,但是报错,说richtextbox不能当容器使用
      

  6.   

    1. 不会RichTextbox。对于较轻、需要跨平台、跨不同应用程序的聊天消息显示,使用web browser来显示更合适一点点。2. 不知道你问什么。保存在本地或者不保存,没有什么太大的区别。你说的“对方发送过来的消息”,我猜你第一个感觉设计就是这个消息push到了客户端,那么就没有必要修改成客户端再去取消息的机制。(但是你确实深入一步想到如何push消息了吗?如果没有定好就这样做,就不要轻易用这个词汇来说明业务)3和4并非一个产品的设计师所考虑问题,属于临时编程不会时简单goolgle一下然后几分钟可能就能解决的问题。
      

  7.   

    回答能回答的:
    2.没读的信息在数据库有个状态,只有当双击时那个状态才会改,否则你现在登录看到是未读状态时,图像还得闪,当然这状态是保存在服务器的,如果有多个也只不过是对应多条记录对应多个用户ID 只是状态是未读的,都闪。4.这也不难,因为他们都处于同一父窗体中,所以你很容易拿到父窗体,然后用父窗体对像.Controls 这样可以拿出父窗体下的所有控件,用FOREACH 用每个对象.Name 如果 NAME等于A and .getType()=="Form" 的话,就将对象obj as Form 然后obj.close();就行了。
    3.应该也不难,在网上找下资料就能找到。
    1.的话可能会难点,考虑到对图像流的操作,GOOGLE一下吧。呵。
    个人感觉,希望对你有帮助。
      

  8.   

    1、我采用的是将图片也以rtf的格式与文本信息一起发送的,发送到对方之后,也是直接读取rtf格式在richtextbox中显示出来,所以,要实现右键保存图片就不知道该怎么获取到图片的对象
      

  9.   

    1.RichTextBox嵌入图片,实际上是嵌入的一个Ole对象, 创建Ole对象时, 订约相应事件
    2.有消息时,托盘处图标闪动,实际上是多个图标, 循环显示而已,
    剩下的问题都很简单吧, 对于一个聊天系统而言,这些都是一些细节问题
    问题4更不是问题, 父窗口关闭时, 子窗口会自动关闭的.
      

  10.   


    建议不要传Rtf, 体积太大,不适合在网络上传输, 传输表情,可以仅传输表情相对应的表情符号.
      

  11.   

    表情就是传输对应的符号图片也考虑过以文件的形式传输,传输到对方之后,保存到本地,再从本地读取显示到richtextbox中这样效率是要比rtf快许多