试一下:
private void tvw_AfterCheck(object sender, System.Windows.Forms.TreeViewEventArgs e)
{
TreeNode currentnode=e.Node;
if(currentnode.Checked==true)
{
checktvw(currentnode);
}
else
{ foreach(TreeNode node1 in currentnode.Nodes)
{
node1.Checked=false; }
}
} //递归方法
private void checktvw(TreeNode node0)
{
foreach(TreeNode m in node0.Nodes)
{
m.Checked=true;
this.tvw.ExpandAll();
if(m.Nodes.Count>0 && m.Checked==true)
{
foreach(TreeNode n in m.Nodes)
{
checktvw(n);
}
}
} }
private void tvw_AfterCheck(object sender, System.Windows.Forms.TreeViewEventArgs e)
{
TreeNode currentnode=e.Node;
if(currentnode.Checked==true)
{
checktvw(currentnode);
}
else
{ foreach(TreeNode node1 in currentnode.Nodes)
{
node1.Checked=false; }
}
} //递归方法
private void checktvw(TreeNode node0)
{
foreach(TreeNode m in node0.Nodes)
{
m.Checked=true;
this.tvw.ExpandAll();
if(m.Nodes.Count>0 && m.Checked==true)
{
foreach(TreeNode n in m.Nodes)
{
checktvw(n);
}
}
} }
private void tvw_AfterCheck(object sender, System.Windows.Forms.TreeViewEventArgs e)
{
TreeNode currentnode=e.Node;
if(currentnode.Checked==true)
{
//checktvw(currentnode);
foreach(TreeNode a in currentnode.Nodes)
a.Checked=true;
}
else
{ foreach(TreeNode node1 in currentnode.Nodes)
{
node1.Checked=false; }
}
}