c# - 访问 TreeView 控件中的所有节点

标签 c# winforms treeview

我有一个带有一组节点和子节点的 TreeView 控件。例如:

ROOT has A,B,C.

A 有 a1、a2、a3,然后 a1、a2 还包含一些节点,如 x1、x2、x3 等。像这样有很多子节点。我知道可以使用带有 for 循环的循环。

我只想使用一两个 for 循环访问 TreeView 控件中的所有节点。

是否有任何算法或其他方法?

还有一个问题:是否可以使用任何库函数在对象或字符串中包含树节点的路径?例如:

string S = TreeView1.Nodes[i].Nodes[j].Nodes

最佳答案

不要使用嵌套循环,而是使用递归解决方案,例如:

void ListNodes( TreeNode node )
{
  foreach( var subnode in node.Nodes )
  {
    ListNodes( subnode );
  }
  // Print out node
}

为您的根节点调用此函数。

对于您的附加问题:检查 FullPath 属性。

关于c# - 访问 TreeView 控件中的所有节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1372363/

相关文章:

c# - 如何将 "Clear"按钮添加到 WPF 中的文本框?

c# - 无法从 HttpContextBase 转换为 HttpContextBase

c# - 如何在 Windows 窗体应用程序中使用 Monaco 编辑器?

c# - 如何在 C# 中使用文本框过滤 datagridview?

c# - 如何在devexpress XtraGrid中设置背景颜色

c - TreeView - 设置默认选择项目并突出显示(蓝色)该项目

c# - 将 List<T> 转换为嵌套 Dictionary<string, Dictionary<string, T>

mysql - 试图将 MySQL 数据放入 d3 的嵌套 json 文件中?

linux - 设置 Linux 树命令的默认级别选项

c# - Equals 和 GetHashCode 如何在匿名类型上实现?