2011-10-12 69 views
3

我已加载树视图。我想遍历treeview节点并且展开选择一个节点&。展开工作正常。但选择一个节点不工作。在windows应用程序中以编程方式在treeview中选择节点

private void Traverse(TreeNodeCollection nodes, string findtext) 
     { 
      foreach (TreeNode node in nodes) 
      { 
       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); 
      } 

     } 

它在windows应用程序中。

+0

你想选择哪个节点?不是node.NextNode我想象。什么是tvwStructureTree?尝试node.TreeView.SelectedNode = node.Nodes [0]; –

回答

5

不太清楚你的问题是什么。 TreeView.SelectedNode Property是正确的属性。

当您设置该属性,指定节点滚动到视图 和任何父节点扩大,使指定的节点是 可见。

当选定节点的父节点或任何祖先节点为 以编程方式折叠或通过用户操作折叠时,折叠节点将变为选定节点。

确保node.TreeView是正确的TreeView实例。

node.TreeView.SelectedNode = node.NextNode; 

TreeView.HideSelection Property是另一个可能对您有用的属性。

当该属性被设置为假,选定的节点在TreeView 控制以不同的颜色比当TreeView控件失去焦点当前 选择色保持高亮显示。您可以使用 该属性来保持用户选择的项目,当用户单击窗体上的其他控件或移动到另一个窗口时,该用户可以看到 。

+1

Thnaks for your comments.its working – user990897

0

我测试了你自己的代码,工作正常,都找到并选择节点! 没有任何特定的属性设置为我的树视图! 顺便说一下,我正在使用.Net 3.5和VS 2008

相关问题