2011-10-12 33 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

相關問題