示例#1
0
 private void UserDisconnected(string id)
 {
     this.BeginInvoke(new MethodInvoker(delegate
     {
         chat.Users u = (chat.Users)pnlUserList.Controls.Find(id, true).FirstOrDefault();
         u.UserStatus = chat.Status.Offline;
     }));
 }
示例#2
0
        private void UserList(string userList)
        {
            int         i     = 0;
            List <User> users = JsonConvert.DeserializeObject <List <User> >(userList);

            users = users.Where(x => x.UserId != userId).ToList();
            this.BeginInvoke(new MethodInvoker(delegate
            {
                pnlUserList.Controls.Clear();

                foreach (User u in users)
                {
                    chat.Users uc = new chat.Users();
                    uc.Username   = u.Name;
                    uc.Name       = u.UserId;
                    uc.UserImage  = Image.FromFile(u.ImagePath);
                    uc.UserStatus = u.Status == OnlineStatus.Online? chat.Status.Online : (u.Status == OnlineStatus.Offline? chat.Status.Offline: chat.Status.Away);
                    uc.Dock       = DockStyle.Top;
                    uc.OnClick   += Uc_OnClick;
                    pnlUserList.Controls.Add(uc);
                }
            }));
        }
示例#3
0
 private void Uc_OnClick(object sender, EventArgs e)
 {
     chat.Users u = (chat.Users)sender;
     u.BackColor = Color.NavajoWhite;
     receiverId  = u.Name;
 }