C# treeview 遍历所有节点 并记录节点名称和对应关系
时间: 2024-11-09 17:25:37 浏览: 54
在C#中,TreeView是一个控件,用于显示层次结构数据,如文件系统、目录树等。遍历TreeView的所有节点并记录每个节点的名称及它们之间的父子关系,通常会使用递归的方式来实现。下面是一个简单的示例:
```csharp
using System;
using System.Windows.Forms;
public class TreeNodeData
{
public string Name { get; set; }
public TreeNode ParentNode { get; set; }
}
private void TraverseTreeNode(TreeNode node)
{
if (node != null)
{
TreeNodeData data = new TreeNodeData();
data.Name = node.Text;
data.ParentNode = node.Parent;
// 添加到你的记录集合或数据库操作中...
RecordCollection.Add(data);
// 递归遍历子节点
foreach (TreeNode child in node.Nodes)
TraverseTreeNode(child);
}
}
public void SaveAllNodes()
{
TreeNode root = this.treeView1.Nodes[0]; // 假设树的根节点
TraverseTreeNode(root);
}
```
在这个例子中,`TraverseTreeNode`函数接收一个TreeNode作为输入,并创建一个`TreeNodeData`对象来存储节点名称和其父节点。然后,你可以将这个对象添加到你的数据结构(如列表或数据库表)中。最后,通过遍历`Nodes`属性来访问当前节点的所有子节点。
阅读全文