private void FilterButton_Click(object sender, EventArgs e) { foreach (ListViewItem item in ipcTypesList.Items) { IpcTypeFilter[(ushort)item.Tag] = item.Checked; } foreach (ListViewItem item in ipcTypesList.Items) { PacketItemDetail detail = (PacketItemDetail)item.Tag; if (!IpcTypeFilter[detail.ipcHeader.Type]) { item.Remove(); } } }
void AddToPacketList(PacketItemDetail detail) { ListViewItem item = new ListViewItem(); item.Text = detail.parsedValues["ID"]; for (int i = 1; i < PacketList.Columns.Count; ++i) { var key = PacketList.Columns[i].Text; item.SubItems.Add(detail.parsedValues.ContainsKey(key) ? detail.parsedValues[key] : ""); } item.Tag = detail; if (detail.ipc != null) { item.BackColor = Color.AliceBlue; } PacketList.Invoke((MethodInvoker)(() => PacketList.Items.Add(item))); }