树结构中的节点共有两层(父节点是分类名称子节点是属于该类的项的名称)都是从数据库中读出而且是在读出的过程中将具体的数据项名称进行分类的。要想实现:treeview的AfterCheck事件中的:
1.父节点勾选则子节点全部勾选
2.父节点不勾选则子节点全部不勾选
3.子节点全部不勾选则父节点不够选而且父节点的文本呈黑色
4.子节点部分勾选则父节点不勾选而且文本呈灰色
5.子节点全部勾选则父节点被勾选而且文本呈黑色
private bool nextCheck(TreeNode n)//判断同级的节点是否全选
{
if(n.Checked==false)
return false;
if(n.NextNode == null)
return true;
return this.nextCheck(n.NextNode);
}
private bool nextNotCheck(TreeNode n)//判断同级的节点是否全不选
{
if(n.Checked==true)
return false;
if(n.NextNode == null)
return true;
return this.nextNotCheck(n.NextNode);
}
bool bCheck=false;