public static void AddIpListView(ListView lvw, string ip) { // 对于该控件的请求来自于创建该控件所在线程以外的线程 if (lvw.InvokeRequired) { var lvwSet = new DelegateIpListView(delegate(ListView _lvw, string _ip) { var remote = new ListViewItem(_ip); remote.SubItems.Add(DateTime.Now.ToShortTimeString()); _lvw.Items.Add(remote); _lvw.Columns[0].Text = $"IP ({_lvw.Items.Count})"; }); lvw.Invoke(lvwSet, lvw, ip); } else { var remote = new ListViewItem(ip); remote.SubItems.Add(DateTime.Now.ToShortTimeString()); lvw.Items.Add(remote); lvw.Columns[0].Text = $"IP ({lvw.Items.Count})"; } }
public static void RemoveIpListView(ListView lvw, string ip, int textIndex = 0) { // 对于该控件的请求来自于创建该控件所在线程以外的线程 if (lvw.InvokeRequired) { var lvwSet = new DelegateIpListView(delegate(ListView _lvw, string _ip) { //var remote = new ListViewItem(_ip); //remote.SubItems.Add(DateTime.Now.ToShortTimeString()); for (var i = 0; i < _lvw.Items.Count; i++) { if (_lvw.Items[i].SubItems[textIndex].Text.Equals(ip)) { _lvw.Items.RemoveAt(i); break; } } _lvw.Columns[0].Text = $"IP ({_lvw.Items.Count})"; }); lvw.Invoke(lvwSet, lvw, ip); } else { //var remote = new ListViewItem(ip); //remote.SubItems.Add(DateTime.Now.ToShortTimeString()); for (var i = 0; i < lvw.Items.Count; i++) { if (lvw.Items[i].SubItems[textIndex].Equals(ip)) { lvw.Items.RemoveAt(i); break; } } lvw.Columns[0].Text = $"IP ({lvw.Items.Count})"; } }