【问题标题】:How to select the child node in TreeView in c# windows form如何在 c# windows 窗体中选择 TreeView 中的子节点
【发布时间】:2015-04-29 17:53:05
【问题描述】:

我的 Windows 窗体中有一个树视图。我使用以下函数来选择该树视图中的节点。

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中选择父节点,我想选择并突出显示子节点。 谁能指导我我需要改变什么才能让它工作?

【问题讨论】:

    标签: c# treeview


    【解决方案1】:

    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
       }
    }
    

    【讨论】:

    • 我已经尝试过了,但我无法突出显示子节点。父节点我可以轻松选择和突出显示,但子节点无法选择。还有其他建议吗?
    猜你喜欢
    • 1970-01-01
    • 2010-10-22
    • 2010-12-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多