Display(ListView lvCur, Snoop.Collectors.Collector snoopCollector) { lvCur.BeginUpdate(); lvCur.Items.Clear(); Font oldFont = lvCur.Font; FontStyle newStyle = lvCur.Font.Style ^ FontStyle.Bold; Font boldFont = new Font(oldFont, newStyle); for (int i = 0; i < snoopCollector.Data().Count; i++) { Snoop.Data.Data tmpSnoopData = (Snoop.Data.Data)snoopCollector.Data()[i]; // if it is a class separator, then color the background differently // and don't add a SubItem for the "Field" value if (tmpSnoopData.IsSeparator) { ListViewItem lvItem = new ListViewItem(tmpSnoopData.StrValue()); if (tmpSnoopData is Snoop.Data.ClassSeparator) lvItem.BackColor = System.Drawing.Color.LightBlue; else lvItem.BackColor = System.Drawing.Color.Khaki; lvItem.Tag = tmpSnoopData; lvCur.Items.Add(lvItem); } else { ListViewItem lvItem = new ListViewItem(tmpSnoopData.Label); lvItem.SubItems.Add(tmpSnoopData.StrValue()); if (tmpSnoopData.IsError) { ListViewItem.ListViewSubItem sItem = (ListViewItem.ListViewSubItem)lvItem.SubItems[0]; sItem.ForeColor = System.Drawing.Color.Red; } if (tmpSnoopData.HasDrillDown) { ListViewItem.ListViewSubItem sItem = (ListViewItem.ListViewSubItem)lvItem.SubItems[0]; sItem.Font = boldFont; } lvItem.Tag = tmpSnoopData; lvCur.Items.Add(lvItem); } } lvCur.EndUpdate(); }
protected abstract void CollectEvent(object sender, Snoop.Collectors.CollectorEventArgs e);
CollectEvent(object sender, Snoop.Collectors.CollectorEventArgs e);