private void addUser(User u) { if (pUsers.InvokeRequired) { userCallback auc = new userCallback(this.addUser); this.Invoke(auc, new object[] { u }); } else { UserPane up = new UserPane(u.Handle); up.Status = u.Status; up.UserMessage = u.UserMessage; up.Top = up.Height * (users.Count - 1); pUsers.Controls.Add(up); } }
private void removeUserPanel(User u) { if (pUsers.InvokeRequired) { userCallback ruc = new userCallback(this.removeUserPanel); this.Invoke(ruc, new object[] { u }); } else { int i; for (i = pUsers.Controls.Count-1; i >= 0; i--) { UserPane p = pUsers.Controls[i] as UserPane; if (p.Username.Equals(u.Handle, StringComparison.CurrentCultureIgnoreCase)) { pUsers.Controls.RemoveAt(i); break; } } for (; i < pUsers.Controls.Count; i++) { UserPane p = pUsers.Controls[i] as UserPane; p.Top = p.Top - p.Height; } } }