2011-01-10 70 views
0

我添加了一個SampleNode到treeview。Treeview刪除屬性問題

如果刪除從SampleNode任何節點,

等,

TreeNode[] nodes = this.SampleNode.Nodes.Find(node.Text, true); 
     if (nodes.Length > 0) 
     { 
     int j = nodes[0].Index; 
     if (nodes.Length > 0) 
      this.SampleNode.Nodes[j].Remove(); 
     } 

它在樹視圖中刪除而不是在SampleNode。 這是爲什麼發生?

解決方案是什麼?

+0

對不起,這個問題還不是很清楚。你如何確定沒有從SampleNode中移除節點?如果它們沒有顯示在樹中,則應從Nodes集合中刪除它們。 – 2011-01-10 05:59:00

+0

我說喜歡從添加samplenode的樹視圖中刪除節點。但是它從samplenode中刪除 – curiosity 2011-01-10 06:12:37

回答

0

代碼以增加一些節點。

TreeNode root = new TreeNode("Root"); 

root.Nodes.Add("1", "Sampl1"); 
root.Nodes.Add("2", "Sampl2"); 
root.Nodes.Add("3", "Sampl3"); 
treeView1.Nodes.Add(root); 

代碼以搜索和刪除一個節點,

TreeNode []nodes= treeView1.Nodes.Find("1", true); 

if (nodes.Length != 0) 
    { 
    //nodes[0].Remove(); 
    //or 
    treeView1.Nodes.Remove(nodes[0]); 
    } 
1

問題可能是您正在通過節點數組中的索引刪除節點 - 而不是它們在樹中的位置。

嘗試更換:

this.SampleNode.Nodes[j].Remove(); 

有了:

this.SampleNode.Nodes.Remove(nodes[0]);