在 C# 的 TreeView 的第三层添加一个节点

Adding a Node in the third level in a TreeView in C#

An unhandled exception of type 'System.ArgumentOutOfRangeException' occurred in System.Windows.Forms.dll.

这是我的代码行:

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

"View" 是一个 TreeView。

请问如何在第三层添加节点

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:您可以编写一个函数来执行此操作,也许使用谓词数组 select 每个级别的节点。