Пример #1
0
        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();
        }