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; })); }
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); } })); }
private void Uc_OnClick(object sender, EventArgs e) { chat.Users u = (chat.Users)sender; u.BackColor = Color.NavajoWhite; receiverId = u.Name; }