示例#1
0
 public void AddRoom(List <Client.ModelObject.Room> listRoom)
 {
     listRoomFromTop = listRoom;
     for (int i = 0; i < listRoom.Count; i += 1)
     {
         existRoom x = new existRoom(listRoomFromTop[i].id, listRoomFromTop[i].name, false, null, listRoomFromTop[i].members);
         if (!listExistRoom.Contains(x))
         {
             listExistRoom.Add(x);
         }
     }
 }
示例#2
0
        private void btnLeave_Click(object sender, EventArgs e)
        {
            int id = Program.RandomNumber(0, 2 ^ 32);

            Client.ModelObject Send = new Client.ModelObject();
            Send.command.code = "10";
            Send.command.id   = id.ToString();
            Send.room.id      = currentRoom.IDROOM;
            register.socket.Send(Send);

            btnSetting_Click(sender, e);

            foreach (Client.ModelObject.Room x in listRoomFromTop)
            {
                if (x.id == currentRoom.IDROOM)
                {
                    listRoomFromTop.Remove(x);
                    break;
                }
            }

            RecvData(10, Send.command.id);

            currentRoom.myPanel.Dispose();
            currentRoom.myRoom.Dispose();
            currentRoom = null;
            if (listExistRoom.Count != 0)
            {
                currentRoom = listExistRoom[0];
                ShowChatPanel(currentRoom.myPanel, currentRoom.myRoom);
            }
            else
            {
                nameRoomHeader.Text = "Welcome";
                roomIdHeader.Text   = "000000";
            }
        }
示例#3
0
        public void ShowBlockChat(object sender, EventArgs e)
        {
            var roomClicked = (Room)sender;

            if (currentRoom != null)
            {
                nameRoomHeader.Text        = roomClicked.nameRoom;
                pictureBoxHeader.FillColor = roomClicked.ColorAvatar;
                roomIdHeader.Text          = roomClicked.IDROOM;

                for (int i = 0; i < listExistRoom.Count; i++)
                {
                    if (roomClicked.IDROOM == listExistRoom[i].IDROOM)
                    {
                        listExistRoom[i].myPanel.Show();
                        currentRoom = listExistRoom[i];
                    }
                    else
                    {
                        listExistRoom[i].myPanel.Hide();
                    }
                }
            }
        }
示例#4
0
        public void JoinRoom()
        {
            for (int i = 0; i < listExistRoom.Count; i++)
            {
                if (!listExistRoom[i].STATUS)
                {
                    Room croom = new Room();
                    panelSidebar.Controls.Add(croom);
                    croom.Dock              = DockStyle.Top;
                    croom.lastestMessage    = "";
                    croom.nameRoom          = listExistRoom[i].NAMEROOM;
                    croom.IDROOM            = listExistRoom[i].IDROOM;
                    listExistRoom[i].STATUS = true;
                    listExistRoom[i].myRoom = croom;

                    Panel newPanel = new Panel();
                    newPanel.BackColor = Color.White;
                    subpanel.Controls.Add(newPanel);

                    panelMain.AutoScroll             = false;
                    panelMain.VerticalScroll.Enabled = true;
                    panelMain.VerticalScroll.Visible = true;
                    panelMain.AutoScroll             = true;
                    newPanel.Dock       = DockStyle.Fill;
                    newPanel.AutoScroll = true;
                    newPanel.AutoSize   = true;


                    listExistRoom[i].myPanel = newPanel;
                    croom.OnClick           += ShowBlockChat;
                    currentRoom = listExistRoom[i];
                    ShowChatPanel(listExistRoom[i].myPanel, listExistRoom[i].myRoom);
                    AddToCurrentRoom(listExistRoom[i].IDROOM, listExistRoom[i].NAMEROOM, listExistRoom[i].MEMBERS);
                }
            }
        }