public void AddUsersToViewlist(Dictionary <string, Types.UserLevel> userList) { List <ListViewItem> items = new List <ListViewItem>(); ListViewItem[] list = new ListViewItem[mdTabChatViewerList.Items.Count]; mdTabChatViewerList.Items.CopyTo(list, 0); _addUserRangeThread = new Thread(() => { foreach (KeyValuePair <string, Types.UserLevel> item in userList) { if (list.All(s => s.Name != item.Key)) { ListViewItem li = new ListViewItem(" " + Types.GetUserLevelLetter(item.Value), item.Value.ToString()); li.SubItems.Add(item.Key); li.Name = item.Key; items.Add(li); } } this.SafeInvoke(() => { mdTabChatViewerList.Items.AddRange(items.ToArray()); }); }) { IsBackground = true }; _addUserRangeThread.Start(); }
public void AddUserToViewlist(string nick, Types.UserLevel level) { if (!mdTabChatViewerList.Items.ContainsKey(nick)) { ListViewItem li = new ListViewItem(" " + Types.GetUserLevelLetter(level), level.ToString()); li.SubItems.Add(nick); li.Name = nick; mdTabChatViewerList.Items.Add(li); } }