1. 程式人生 > >TreeView 控制元件使用細節

TreeView 控制元件使用細節

問題描述:

1.利用treeView控制元件的Add函式新增一個名稱為123的節點,如treeView.Nodes.Add( "123" );  

2.當想要搜尋得到該節點時,使用 TreeNode[] nodes = treeView.Nodes.Find("123", true);

理想中應該返回第一步中插入的值,但實際結果卻不然。

解決過程:

1.

Find() method takes key (not a value).

TreeNode root =newTreeNode("root");TreeNode t1 =newTreeNode(); 
            t1.
Nodes.Add("A","A1");              t1.Nodes.Add("B","B2");              t1.Nodes.Add("C","C3");              root.Nodes.Add(t1);TreeNodeCollection tc = root.Nodes;var tt = tc.Find("A",true);

2. 原來,TreeView 控制元件的Add方法有好幾個過載,之前我使用的是Add( string value ), 只設置了新插入節點的屬性值,而沒有設定新節點的key。而查詢函式Find的原型為Find(string Key

 ),它是根據key來查詢的。因為新插入節點的key沒有設定,所以無法找到。

解決方法:

使用Add的另一個過載方法 treeView.Nodes.Add( "123","value"  );

這時候,新插入節點的key是"123"  ,value是"value",然後使用TreeNode[] nodes = treeView.Nodes.Find("123", true);就能得到剛剛插入的節點了