如何在c# windows 窗体中select TreeView 中的子节点

How to select the child node in TreeView in c# windows form

我的 windows 表单中有一个树视图。我使用以下函数 select 该 treeView 中的节点。

private void FindAndSelect(TreeNodeCollection collection, object toSelect)
    {
        //problem in this line becouse while converting the toSelect into IstructuredEntity is showing null.

        var entityToSelect = toSelect as Decoupling::IStructureEntity;

        if (entityToSelect == null) //just select the Structure root
        {
            _treeView.SelectedNode = _treeView.Nodes[0];
            return;
        }
        foreach (TreeNode tn in collection)
        {
            var treeNodeEntity = tn.Tag as IStructureEntity;
            if (treeNodeEntity != null && treeNodeEntity.Id == entityToSelect.Id)
            {

                _treeView.SelectedNode = tn;

            }

            FindAndSelect(tn.Nodes, toSelect);
        }
    }

但是上面的函数只能select树视图中的父节点,我想select并突出显示子节点。 任何人都可以指导我需要更改什么才能使其正常工作吗?

TreeView.Nodes 只会给你父节点。您可能必须实施 ParentNode.ChildNode 才能在树中获取子节点。单击 here 了解更多信息

foreach (TreeNode tn in treeView1.Nodes)
{
   // get parent node here
   foreach (TreeNode child in tn.Nodes)
   {
     //get child node here
   }
}