如何在c#窗体中选择TreeView中的子节点

时间:2015-04-29 08:10:32

标签: c# treeview

我的窗体中有一个树状视图。我使用以下函数来选择该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);
        }
    }

但是上面的函数只能在treeView中选择父节点,我想选择并突出显示子节点。 任何人都可以指导我为什么需要改变这个工作?

1 个答案:

答案 0 :(得分:2)

TreeView.Nodes 只会为您提供父节点。您可能必须实现ParentNode.ChildNode才能获取树中的子节点。点击here了解详情

PATH