我有一个包含一些父节点和子节点的树视图。如果选择了子节点,则应选择父节点。此功能工作正常,但如果父节点有多个子节点并且我检查了多个子节点并且未选中单个子节点父节点将被取消选中。
如果选择了子节点,我已经完成了一些选择父节点的代码。
private bool updatingTreeView;
private void treSelector_AfterCheck(object sender, TreeViewEventArgs e)
{
if (updatingTreeView) return;
updatingTreeView = true;
SelectParents(e.Node, e.Node.Checked);
updatingTreeView = false;
}
private void SelectParents(TreeNode node, Boolean isChecked)
{
if (node.Parent != null)
{
node.Parent.Checked = isChecked;
SelectParents(node.Parent, isChecked);
}
}
如果选中了该父节点的任何单个子节点,我不想要未选中的父节点。