一个窗口一次只能开一个是很简单 
我在写一个聊天的软件 
怎么控制聊天窗口对一个人只能开一个 
而对其它人可以继续打开 
有人提议用类似窗口数组做 
当是编译不通过 
请个位高手写点代码解决 我是个新手代码不要太难啊!!!!!!

解决方案 »

  1.   

    我觉得打开的窗口保存在一个hashtable中打开之前对比一下。
      

  2.   


    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;namespace Client
    {
        class ChatFormGroup
        {
            List<Window2> formGroup = new List<Window2>();        int count = 0;
            int targetId;        public void AddForm(Window2 _form)
            {
                formGroup.Add(_form);
                count = formGroup.Count;
            }        public bool CheckForm(int _targetID)
            {            targetId = _targetID;
                if (formGroup.FindIndex(CheckFormID) != -1)
                {
                    return true;
                }
                else
                {
                    return false;
                }
            }        bool CheckFormID(Window2 _form)
            {
                if (_form.TargetID == targetId)
                {
                    return true;
                }
                else
                {
                    return false;
                }
            }
        }
    }怎好我在写这个  我的做法是用list<>去管理聊天窗口
    每个窗口用targetID唯一标识 
      

  3.   

    用一个LIST<>来管里 把所有创建了的FORM都放如LIST 中如果受到消极 先检查LIST 如果有对应FORM 这直接操作这个FORM
    如过没有这创建FORM 在加如LIST 在操作具体代码春节后发上