public void ShowDifference(DicomDataSet original, DicomDataSet anonymized) { List <Difference> difference; treeGridViewDifference.Nodes.Clear(); difference = original.Compare(anonymized); foreach (Difference diff in difference) { TreeGridNode node = null; if (diff.Parent == null) { node = treeGridViewDifference.Nodes.Add(string.Format("({0:X4},{1:X4})", diff.Tag.GetGroup(), diff.Tag.GetElement()), diff.Name, diff.VR); node.Tag = diff; SetValue(node, diff); } else { TreeGridNode tagNode = FindParentNode(treeGridViewDifference.Nodes, n => (n.Tag as Difference).Path == diff.Parent.Path); node = tagNode.Nodes.Add(string.Format("({0:X4},{1:X4})", diff.Tag.GetGroup(), diff.Tag.GetElement()), diff.Name, diff.VR); node.Tag = diff; SetValue(node, diff); } if (_Anonymizer.FindTag(diff.Tag) != null) { node.Image = Resources.ShowTag_16x16p; } } }