在C#中的TreeView中添加第三级节点

时间:2015-03-08 11:17:46

标签: c# exception treeview

  

未处理的类型' System.ArgumentOutOfRangeException'   发生在System.Windows.Forms.dll。

这是我的代码行:

View.Nodes[View.Nodes.IndexOf(Node)].Nodes[View.Nodes.IndexOf(Node2)].Nodes.Add(Title3);

"查看"是一个TreeView。

我想知道如何在第三级添加节点。

1 个答案:

答案 0 :(得分:1)

View.Nodes[View.Nodes.IndexOf(Node)].Nodes[View.Nodes.IndexOf(Node2)].Nodes.Add(Title3);

View.Nodes.IndexOf(Node)是第一级节点的索引。 您正在使用从第一级确定的索引为所有级别编制索引。 我不确定这是不是你想要的。也许试试这个:

var firstLevelNodes = View.Nodes;
var secondLevelNodes = firstLevelNodes[firstLevelNodes.IndexOf(nodeInFirst)].Nodes;
var thirdLevelNodes = secondLevelNodes[secondLevelNodes.IndexOf(nodeInSecond)].Nodes;
...
thirdLevelNodes.Add(...);

在一行中这将是相当长的:)

PS:您可以编写一个函数来执行此操作,也可以使用谓词数组来选择每个级别中的节点。