树中含有子节点,我只能for循环到头节点,因为到第二个节点就是子节点?谢谢!

来源:百度知道 编辑:UC知道 时间:2024/09/23 10:42:57
树中含有子节点,我只能for循环到头节点,因为到第二个节点就是子节点?谢谢!
for(int i=0;i<triStateTreeViewCtrl1.Nodes.Count;i++)
{
MessageBox.Show(triStateTreeViewCtrl1.Nodes[i].Text);
if (TriStateTreeView.CheckBoxState.Unchecked == triStateTreeViewCtrl1.GetTreeNodeCheckBoxState(triStateTreeViewCtrl1.Nodes[i]))
{
MessageBox.Show(triStateTreeViewCtrl1.Nodes[i].Text);
}
}
这里只能获取得到一个节点,事实这棵树上有多个节点,所以我应该如何来获取得到它的子节点,所有的节点。

用递归!!!
大概是这样的方式,具体代码自己去实现
void doTreeNodes(Nodes nodes)
{
for(int i=0;i<nodes.Count;i++)
{
//do something
doTreeNodes(nodes[i].ChildNodes);
}
}

for(int i=0;i<triStateTreeViewCtrl1.Nodes.Count;i++)
{
MessageBox.Show(triStateTreeViewCtrl1.Nodes[i].Text);
if (TriStateTreeView.CheckBoxState.checked == triStateTreeViewCtrl1.GetTreeNodeCheckBoxState(triStateTreeViewCtrl1.Nodes[i]))
{
MessageBox.Show(triStateTreeViewCtrl1.Nodes[i].Text);
}
}