⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 exuser.cs

📁 kuiMsg是一款用.net C# 开发的即时消息开源软件,适合.net即时消息软件开发者用。 主要功能: 支持文件传输(p2p); 支持GIF动画表情( 彻底消除闪屏 :) );
💻 CS
字号:
using System;
using System.Collections.Generic;
using System.Text;
using System.Windows.Forms;

namespace LanMsg 
{
     public  class exUser :IMLibrary.UserInfo 
    {
         public exUser()
         {
             InitEvent();// 初始化事件
         }

         public void InitEvent()// 初始化事件 
         {
             this.userStateChanged  += new userStateChangedEventHandler(exUser_UserStateChanged);//用户状态更新事件
             this.userNameChanged += new userNameChangedEventHandler(exUser_userNameChanged);//用户姓名在线状态更新事件
             this.userIdChanged += new userIdChangedEventHandler(exUser_userIdChanged);//用户ID更新事件
             //this.depIdChanged +=new depIdChangedEventHandler(exUser_depIdChanged);
             this.State = 0;
         }

         /// <summary>
         /// 用户在树图中的节点
         /// </summary>
         private TreeNode  node = new TreeNode ();
         public TreeNode  Node
         {
             get { return node; }
             set { node = value; }
         }

         /// <summary>
         /// 标识用户与用户之间在网络上是否直接相联(真为直接相联,数据可以对方,假为不直接相联,数据通过服务器转发)
         /// </summary>
         private bool _isDirectCon = false;
         public bool isDirectCon
         {
             get { return _isDirectCon; }
             set { _isDirectCon = value; }
         }

         /// <summary>
         /// 判断用户与用户之间是否同处一个局域网内
         /// </summary>
         private bool _isInLan = false;
         public bool isInLan
         {
             get { return _isInLan; }
             set { _isInLan = value; }
         }

         /// <summary>
         /// 用户在线状态更改事件
         /// </summary>
         /// <param name="sender"></param>
         private void exUser_UserStateChanged(object sender)
         {
             this.Node.Text = this.userName + this.StateInfo;
             if (this.State == 0)
             {
                 this.Node.SelectedImageIndex = 0;
                 this.Node.ImageIndex = 0;
                 this.isDirectCon = false;
             }
             else
             {
                 this.Node.SelectedImageIndex = 1;
                 this.Node.ImageIndex = 1;
             }

             SetDepNodeShow();
         }

         /// <summary>
         /// 用户名更改事件
         /// </summary>
         /// <param name="sender"></param>
         private void exUser_userNameChanged(object sender)
         {
             this.Node.Text = this.userName + this.StateInfo;
             this.node.ToolTipText = this.userName;
             this.Node.Tag = "1";
         }

         /// <summary>
         /// 用户ID更改事件
         /// </summary>
         /// <param name="sender"></param>
         private void exUser_userIdChanged(object sender)
         {
             this.Node.Name = this.UserID;
         }

         /// <summary>
         /// 设置部门显示
         /// </summary>
         public void SetDepNodeShow()
         {
             if (this.Node.Parent != null)
             {
                 int onlineUserCount = 0;//在线用户合计
                 int allUserCount = 0;//用户合计
                 int subDepCount = 0;//子部门合计

                 foreach (TreeNode node in this.Node.Parent.Nodes)
                 {
                     if (node.Tag.ToString() == "0")
                         subDepCount++;
                     else if (node.ImageIndex == 0)
                         allUserCount++;
                     else
                     {
                         onlineUserCount++;
                         allUserCount++;
                     }
                 }

                 //if (subDepCount != 0)
                 //    this.Node.Parent.Text ="("+subDepCount.ToString() +")"  ;//this.Node.Parent.ToolTipText.ToString() + "(" + onlineUserCount.ToString() + "/" + allUserCount.ToString() + ")";//+  ;
                 //else
                     this.Node.Parent.Text = this.Node.Parent.ToolTipText.ToString() + "(" + onlineUserCount.ToString() + "/" + allUserCount.ToString() + ")";
             }
         }
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -