트리 추가 메소드에 노드를 추가 할 수 있습니다. 그러나 특정 하위 노드에 노드를 추가하려고합니다. 예를 들어 노드가특정 하위 노드에 노드 추가
|___node0
|___node1
| |___node3
| |___node4
| |___node5
|___node2
가 어떻게이 작업을 수행 할 수있는 일에 Node5에 추가 하시겠습니까? 감사합니다. .
트리 추가 메소드에 노드를 추가 할 수 있습니다. 그러나 특정 하위 노드에 노드를 추가하려고합니다. 예를 들어 노드가특정 하위 노드에 노드 추가
|___node0
|___node1
| |___node3
| |___node4
| |___node5
|___node2
가 어떻게이 작업을 수행 할 수있는 일에 Node5에 추가 하시겠습니까? 감사합니다. .
기본 재귀 트리 노드 검색 자 아래와 같이의 상단에, 그 콜렉션에 새로운 아이를 추가 내 머리. 키로 검색 할 필요가있는 경우 weismat의 대답이 가장 쉽습니다. 그러나 노드의 데이터로 검색해야하는 경우 이름 검색을 바꿀 수있는 것으로 바꿀 수 있으므로이 솔루션을 고려해야합니다.
private TreeNode FindNode(TreeNode root, String name)
{
foreach (TreeNode node in root.Nodes)
{
if (node.Nodes.Count > 0)
return FindNode(root, name);
if (node.Name == name)
return node;
}
return null;
}
TreeNode[] tn = treeView.Nodes[0].Nodes.Find(search.Text, true);
if (tn.Count>0)
tn[0].Add(nod);
else
//handle node not found
는 자식 노드의 참조가있는 경우, 당신은 단순히 노드 컬렉션에 액세스 할 수 있으며
node5.Nodes.Add(New TreeNode("temp"));
윌리엄은 옳았지만 방법은 다음과 같아야합니다
private TreeNode FindNode(TreeNode root, String name)
{
foreach (TreeNode node in root.Nodes)
{
if (node.Name == name)
return node;
else
{
if (node.Nodes.Count > 0)
return FindNode(node, name);
}
}
return null;
}
이를 테스트하고 잘 작동,
건배!
나는이 방법을 어떻게 사용 하는가? 그리고이 방법이 내게주는 것? 세부 사항을 알려주십시오. 감사합니다. – Tavousi
TreeNode node = FindNode (treeView1.Nodes [0], "node5") –