看板 C_Sharp 關於我們 聯絡資訊
我現在的TreeView1已經建立如下 1┬1.1─1.1.1 └1.2 2┬2.1 └2.2 假如我今天想要再1.2下在建立個1.2.1與1.2.2變成如下 1┬1.1─1.1.1 └1.2┬1.2.1 └1.2.2 2┬2.1 └2.2 結果我的作法是: foreach (TreeNode tn1 in treeView1.Nodes) { if (tn1.Text == "1") { foreach (TreeNode tn2 in tn1.Nodes) { if (tn2.Text == "1.2") { tn2.nodes.add("1.2.1"); tn2.nodes.add("1.2.2"); } } } } foreach下會用if判別的因素因為建立的node是使用者自行輸入的。 我總感覺這是個錯誤的作法,萬一今天我的程式需要控制的TreeView到了 更多層的話,比方說到七層好了,我的foreach會用到翻掉吧。 所以我想請問是不是有更好的作法呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.44.193.116
Abbee:treeview.nodes[1].nodes[2].add("1.2.1") 05/03 23:17
soup514:使用遞迴找出要加的節點 winform有nodes.find可用 05/04 02:23
sdwufei:謝謝樓上兩位的提示,兩種方法try一下大概有些底了,謝謝 05/11 15:14