MANISH KUMAR CHOUDHARY
MANISH KUMAR CHOUDHARY

Reputation: 3492

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

I have one tree view in my windows form. I use the following function to select the node in that 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);
        }
    }

But the above function is only able to select the parent node in treeView and I want to select and highlight the child. Can anyone please guide me as to what I need to change for this to work?

Upvotes: 3

Views: 5423

Answers (1)

Denzil Soans
Denzil Soans

Reputation: 667

TreeView.Nodes will only give you the Parent Nodes. You might have to implement ParentNode.ChildNode to get the childnodes in your tree. Click here for more info

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

Upvotes: 4

Related Questions