private void FilterTagsTreeView_AfterCheck(object sender, TreeViewEventArgs e) { var InternalNode = e.Node.Tag as FilterTagsTreeNode; if (InternalNode != null) { if (e.Node.Checked) { ActiveTags.Add(InternalNode.AllocTagNode.GetTag().Value); } else { ActiveTags.Remove(InternalNode.AllocTagNode.GetTag().Value); } } }
private void UpdateCheckboxState(TreeNodeCollection InTreeNodesList) { foreach (TreeNode TreeNode in InTreeNodesList) { var InternalNode = TreeNode.Tag as FilterTagsTreeNode; if (InternalNode != null) { if (InternalNode.AllocTagNode.GetTag().HasValue) { TreeNode.Checked = ActiveTags.Contains(InternalNode.AllocTagNode.GetTag().Value); } else { // Hide the checkbox on non-tag nodes FilterTagsTreeView.SetCheckBoxImageState(TreeNode, 0); } } UpdateCheckboxState(TreeNode.Nodes); } }
private void ResetFilterButton_Click(object sender, EventArgs e) { ActiveTags.Clear(); FilterTagsSearch.Text = String.Empty; PopulateTagFilterHierarchy(null); }