2011-01-10 16 views
0

ツリービューに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、

から任意のノードを削除する場合には、ツリービューではなくSampleNodeに削除されます。 これはなぜ起こりますか?

解決策は何ですか?

+0

申し訳ありませんが、この質問は非常に明確ではありません。どのようにノードがSampleNodeから削除されていないと判断していますか?ツリーに表示されていない場合は、ノードコレクションから削除する必要があります。 –

+0

私は、ノードがツリービューから削除され、そこにsampleenodeが追加されたと言っています。しかし、それはサンプルノード – curiosity

+0

から削除されています。期待される動作です.SampleNode.Nodesからノードを削除してツリービューからノードを削除します。 –

答えて

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]); 
+0

これもうまくいきません:( – curiosity

+0

私は同じことをやったことがありませんでした – curiosity

+0

+1グレッグ@curiosity:あなたのアプリをデバッグしますか? - node.textとは何ですか? – adatapost