设置TreeView控件的CheckBoxes属性为“true”,节点前面就会有CheckBox了,然后自己写一个方法,在节点的Checked属性发生变化时,首先判断一下节点下面是否有子节点,如果有,那么就将子节点的Checked属性设置为和当前节点相同就可以了,为了不提交失败,代码就不写了,如有疑问请追问或是Hi
属性CheckBoxes设为true
treeView1.CheckBoxes = true;
然后利用递归
private void ufn_CheckChildren(TreeNode node)
{
if (node.Nodes.Count > 0)
{
foreach (TreeNode n in node.Nodes)
{
n.Checked = node.Checked;
this.ufn_CheckChildren(n);
}
}
}
调用
private void treeView1_AfterCheck(object sender, TreeViewEventArgs e)
{
this.ufn_CheckChildren(e.Node);
}