答案 0 :(得分:0)
您可以创建一种方法来展平树结构,然后在列表中找到节点索引。
例如,创建以下扩展方法:
using System.Collections.Generic;
using System.Windows.Forms;
public static class TreeNodeCollectionExtensions
{
public static IEnumerable<TreeNode> AsEnumerable(this TreeNodeCollection nodes)
{
foreach (TreeNode c1 in nodes)
{
yield return c1;
foreach (TreeNode c2 in AsEnumerable(c1.Nodes))
yield return c2;
}
}
}
并以这种方式使用它:
//using System.Linq;
var index = treeView1.Nodes.AsEnumerable().ToList().IndexOf(treeView1.SelectedNode);
注意
该节点的索引不是找到该节点的可靠信息,我只是出于学习目的共享了答案。如果要将节点映射到数据库记录,则只需将数据库记录的键字段存储在Name
或Tag
属性中,并使用它来查找与节点相关的记录。