我拉了一个treeview,并设置该treeview的CheckBoxs属性为true.
然后建了以下几项: +□主节一
□次节点一
□次节点二
□次节点三
+□主节二
□次节点一
□次节点二
□次节点三我想实现以下效果:
当我选中主节一的时候,对应该主节点下面的子节点也自动选中。谢谢。
然后建了以下几项: +□主节一
□次节点一
□次节点二
□次节点三
+□主节二
□次节点一
□次节点二
□次节点三我想实现以下效果:
当我选中主节一的时候,对应该主节点下面的子节点也自动选中。谢谢。
{
foreach (TreeNode tn in e.Node.Nodes)
{
tn.Checked = e.Node.Checked;
}
}
注意一下,这里不需要递归,因为你对子节点设置Checked=true之后,仍然会触发AfterCheck事件 private void treeView1_AfterCheck(object sender, TreeViewEventArgs e)
{
if(e.Node.Checked)
{
foreach (TreeNode node in e.Node.Nodes)
{
node.Checked = true;
}
}
}
private void treeView1_AfterCheck(object sender, TreeViewEventArgs e)
{
CheckNodes(e.Node);
} private void CheckNodes(TreeNode node)
{
foreach (TreeNode childNode in node.Nodes)
{
childNode.Checked = node.Checked;
CheckNodes(childNode);
}
}