开发者

select a node in treeview programmatically in windows application

i have load a tree view. i want to Traverse treeview node and expand & select a node. Expand is working fine. but select a node is not working.

private void Traverse(TreeNodeCollection nodes, string findtext) 
        {
          foreach (TreeNode node in nodes) 
            {
               开发者_JS百科 if (node.Text.ToString().Trim() == findtext)
                {
                    node.Expand();
                    node.TreeView.SelectedNode = node.NextNode;                    

                    //tvwStructureTree.SelectedNode = this.tvwStructureTree.Nodes[node.Index];
//Select a node in Treeview tvwStructureTree But not working
                    tvwStructureTree.SelectedNode = node; 
                    node.TreeView.Focus(); 
                }
                Traverse(node.Nodes, findtext); 
            } 

        }

Its in windows application.


Not quite sure what's your issue is. TreeView.SelectedNode Property is the correct property.

When you set this property, the specified node is scrolled into view and any parent nodes are expanded so that the specified node is visible.

When the parent node or any ancestor node of the selected node is collapsed either programmatically or through user action, the collapsed node becomes the selected node.

Make sure that the node.TreeView is the correct TreeView instance.

node.TreeView.SelectedNode = node.NextNode;  

TreeView.HideSelection Property is another property that might useful for you.

When this property is set to false, selected nodes in the TreeView control remain highlighted in a different color than the current selection color when the TreeView control loses focus. You can use this property to keep items that are selected by the user visible when the user clicks a different control on the form or moves to a different window.


I had a similar issue. My form's ctor is given the test of a node to select.Finding the correct node was not a problem, but the tree didn't show the node as selected, since the tree control didn't have focus. merely had to use Form.ActiveControl = myTreecontrol; before setting myTreecontrol.SelectedNode


I tested exactly your own code and worked fine, both find and selection the node! without any particular property setting for my treeview! by the way I am using .Net 3.5 and VS 2008

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜