文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>SilverLight搭建WCF聊天室详细过程(六)打开聊天窗口

SilverLight搭建WCF聊天室详细过程(六)打开聊天窗口

时间:2010-12-26  来源:fugitiver

        上一节为大家讲解了如何实现用户上线、下线的状态显示,以及在线人数更新,这样我们就可以继续下一步,打开聊天窗口,这节比较简单,我直接贴出关键代码,再为大家讲解思路:

 

代码 //打开聊天窗口有关单击函数
        public void chatForm_Click(object sender, RoutedEventArgs e)
        {
            chatform form = creatWindow((sender as Button).Content.ToString());
        }

        //创建聊天窗口
        private chatform creatWindow(string userName)
        {
            //判断将要打开的聊天对象是否存在,如果存在则返回已存在窗口,不存在则新建窗口
            if (chatforms.Values.Contains(userName))
            {
                return chatforms.Where(f => f.Value.ToString() == userName).First().Key;
            }
            else
            {
                chatform form = new chatform();
                form.SetValue(Grid.RowProperty, 1);
                form.SetValue(Grid.ColumnProperty, 1);
                //聊天对象头像
                form.imaChatUser.Source = ((operation.btUserList.Where(f => f.Content.ToString() == userName).First().Parent as StackPanel).Children[0] as Image).Source;
                //窗口拖动
                form.MouseLeftButtonDown += new MouseButtonEventHandler(operation.MouseLeftButtonDown);
                form.MouseLeftButtonUp += new MouseButtonEventHandler(operation.MouseLeftButtonUp);
                form.MouseMove += new MouseEventHandler(operation.MouseMove);
                form.tbChatName.Text = userName;//聊天对象姓名
                LayoutRoot.Children.Add(form);//添加到主窗体
                chatforms.Add(form, userName);//添加到已打开窗口字典
                return form;
            }
            
        }

 

        思路:首先定义字典public Dictionary<chatform, string> chatforms = new Dictionary<chatform, string>();,这个字典为聊天窗口和聊天对象的用户名组成,目的是为以后功能查找具体聊天窗口提供方便,当用户点击好用列表中的一个时,将首先查找chatforms里是否存在这个窗口,如果存在直接返回,如果不存在则新建,这样就避免了重复打开窗体,在函数中定义了窗口移动事件。

        谢谢大家每次的意见,这次讲解占了大部分,希望对新手入门带来帮助,如果各位朋友觉得有所帮助,希望大家点下推荐,你们的支持才是我更新博客的动力,谢谢大家。

相关阅读 更多 +
排行榜 更多 +
我的武侠梦手游下载

我的武侠梦手游下载

角色扮演 下载
快乐连连看下载免费版

快乐连连看下载免费版

休闲益智 下载
泛滥死者布道手机版下载

泛滥死者布道手机版下载

角色扮演 下载