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; } }
private void InitControls(User user) { this.user = user; message = new Message(); message.UserName = user.Name; message.Type = MessageType.Message; WelcomeLbl.Text = $"{message.UserName}, добро пожаловать"; }
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); }
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; } }
public MessageItem(Message messangerDTO, MessagePos pos) { InitializeComponent(); GenerateControl(messangerDTO, pos); }