
正文
C# WinForm TreeView选择父节点子节点全选
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
//设置标志,防止死循环
bool check = false;
public void TV_AfterCheck(object sender, TreeViewEventArgs e)
{
if (check == false)
setchild(e.Node);
setparent(e.Node);
check = false;
} //设置子节点状态
private void setchild(TreeNode node)
{
foreach (TreeNode child in node.Nodes)
{
child.Checked = node.Checked;
}
check = true;
} //设置父节点状态
private void setparent(TreeNode node)
{
if (node.Parent != null)
{
//如果当前节点状态为勾选,则需要所有兄弟节点都勾选才能勾选父节点
if (node.Checked)
foreach (TreeNode brother in node.Parent.Nodes)
{
if (brother.Checked == false)
return;
}
node.Parent.Checked = node.Checked;
}
}






