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

📄 frmchat.cs

📁 一个即时通信工具
💻 CS
字号:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using Model;
using BLL;

namespace MyQQ
{
    public partial class frmChat : Form
    {
        private string _ChatSendStyle = "我对[{0}]说 [发送时间:{1}] \n";
        private string _ChatReceiveStyle = "[{0}]对您说 (发送时间:{1} \n";
        public frmChat()
        {
            InitializeComponent();
        }

        private UsersInfo _CurrentFriend;
        /// <summary>
        /// 当前好友信息
        /// </summary>
        public UsersInfo CurrentFriend
        {
            get { return _CurrentFriend; }
            set
            { 
                _CurrentFriend = value;
                DisplayUser();
            }
        }

        private MessagesInfo _ReceiveMessage;
        /// <summary>
        /// 接收到的消息
        /// </summary>
        public MessagesInfo ReceiveMessage
        {
            get { return _ReceiveMessage; }
            set 
            { 
                _ReceiveMessage = value;
                _CurrentFriend = _ReceiveMessage.FromUser;
                DisplayUser();
                ShowMessage();
            }
        }

        private void ShowMessage()
        {
            Messages.SetMessageState(_ReceiveMessage.Id, EnumMessageState.Readed);
            this.txtMsgHistory.AppendText(string.Format(_ChatReceiveStyle,_CurrentFriend.NickName, _ReceiveMessage.MessageTime.ToString()));
            this.txtMsgHistory.AppendText(_ReceiveMessage.Message + "\n");
        
        }

        private void DisplayUser()
        {
            this.Text ="与"+ _CurrentFriend.NickName + "聊天中";
            picFriendHeader.Image = AppSetter.AllHeaders.Images[_CurrentFriend.FaceId];
            lblUserTitle.Text = _CurrentFriend.NickName + "(" + _CurrentFriend .Id+ ")";
        }
        private void frmChat_Load(object sender, EventArgs e)
        {
            this.timer1.Enabled = true;
        }

        private void btnSend_Click(object sender, EventArgs e)
        {
            MessagesInfo obj = new MessagesInfo();
            obj.FromUser = AppSetter.CurrentUser;
            obj.ToUser = _CurrentFriend;
            obj.Message = txtMessage.Text;
            Messages.SendMessage(obj,EnumMessageType.ChatMessage);
            this.txtMsgHistory.AppendText(string.Format(_ChatSendStyle, _CurrentFriend.NickName, DateTime.Now));
            this.txtMsgHistory.AppendText(string.Format(this.txtMessage.Text +"\n"));
        }

        private void btnClose_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void timer1_Tick(object sender, EventArgs e)
        {
            List<MessagesInfo> _list = Messages.GetMyNotReadMessages(AppSetter.CurrentUser.Id, EnumMessageType.ChatMessage);
            foreach (MessagesInfo obj in _list)
            {
                _ReceiveMessage = obj;
                ShowMessage();
            }

        }
    }
}

⌨️ 快捷键说明

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