Example #1
0
        private void MesssageOperation(Message response)
        {
            switch (response.Type)
            {
            case MessageType.Connect:
                if (message.SocketId == null)
                {
                    user.SocketId    = response.SocketId;
                    message.SocketId = response.SocketId;
                    UserConnected();
                }
                break;

            case MessageType.Message:
                AddMessageItem(response);
                break;

            case MessageType.Disconnect:
                break;

            case MessageType.Update:
                flowLayoutPanel1.Controls.Clear();

                foreach (var item in response.ChatRoomUsers)
                {
                    ChatRoomUserControl control = new ChatRoomUserControl(item.Name);
                    flowLayoutPanel1.Controls.Add(control);
                }

                break;
            }
        }
Example #2
0
 private void InitControls(User user)
 {
     this.user        = user;
     message          = new Message();
     message.UserName = user.Name;
     message.Type     = MessageType.Message;
     WelcomeLbl.Text  = $"{message.UserName}, добро пожаловать";
 }
Example #3
0
        private void AddMessageItem(Message response)
        {
            MessagePos pos = MessagePos.Left;

            if (response.SocketId == message.SocketId)
            {
                pos = MessagePos.Right;
            }

            MessageItem item = new MessageItem(response, pos);

            MessagesItemsTbl.RowStyles.Add(new RowStyle(SizeType.AutoSize));
            MessagesItemsTbl.Controls.Add(item, 0, MessageRowCount);
            MessageRowCount++;
            MessagesListPanel.ScrollControlIntoView(item);
        }
Example #4
0
        private void GenerateControl(Message response, MessagePos pos)
        {
            switch (pos)
            {
            case MessagePos.Left:
                leftName.Text    = response.UserName;
                leftMessage.Text = response.MessageContent;
                break;

            case MessagePos.Right:
                leftName.Text         = response.UserName;
                leftMessage.Text      = response.MessageContent;
                leftMessage.BackColor = Color.Honeydew;
                leftName.Location     = new Point(550 - leftName.PreferredWidth, leftName.Location.Y);
                leftMessage.Location  = new Point(550 - leftMessage.PreferredWidth, leftMessage.Location.Y);
                break;
            }
        }
Example #5
0
        public MessageItem(Message messangerDTO, MessagePos pos)
        {
            InitializeComponent();

            GenerateControl(messangerDTO, pos);
        }