public void UpdateUsers(Dictionary <User, IPEndPoint> onlineUsers) { foreach (User user in onlineUsers.Keys) { if (self.Equals(user)) { self = user; } } foreach (User user in onlineUsers.Keys) { if (this.tabControl1.TabPages.ContainsKey(user.Nick)) { ((ChatTab)this.tabControl1.TabPages[tabControl1.TabPages.IndexOfKey(user.Nick)]).UpdatePair(user, onlineUsers[user]); ((ChatTab)this.tabControl1.TabPages[tabControl1.TabPages.IndexOfKey(user.Nick)]).UpdateSelf(this.self); } } for (int i = 0; i < this.tabControl1.TabCount; i++) { if (!onlineUsers.ContainsKey(((ChatTab)this.tabControl1.TabPages[i]).GetPair())) { ((ChatTab)this.tabControl1.TabPages[i]).Disconnect(); } } this.Refresh(); }