在C#中 建立treeview时能不能让同一个子节点在两个不同节点下? 在线等答案,亲速度哟!

亲,如果可以,为什么我的不行,谢谢指出错误!

TreeNode root = new TreeNode("一口之家");
TreeNode ye = new TreeNode("yeye");
TreeNode gunai = new TreeNode("gunainai");
TreeNode shu = new TreeNode("shu");
TreeNode ba = new TreeNode("baba");
TreeNode ma = new TreeNode("mama");
TreeNode zi = new TreeNode("ziji");
TreeNode di = new TreeNode("didi");

root.Nodes.Add(ye);
root.Nodes.Add(gunai);
ye.Nodes.Add(ba);
ye.Nodes.Add(ma);
ye.Nodes.Add(shu);
ba.Nodes.Add(zi);
ba.Nodes.Add(di);
ma.Nodes.Add(zi);
ma.Nodes.Add(di);

treeView1.Nodes.Add(root);

因为你加入第二处的时候,第一处就被移除了,HTML,DOM都是这样的,因为是同一个对象,可以想象成加入第二处时就是把第一处的HTML代码移到了第二处,解析出来自然没有了。那么,C#里也是这种处理模式。
楼上说的是对的,调用克隆方法,如果是高手,那就覆写方法。
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-06-07
楼主这个问题提的蛮不错的,从来没想过这种情况啊,原来不行啊,受教了追问

呵呵,我是新手! 菜b!

第2个回答  2012-06-07
不可以多处添加或者插入同一节点,必须首先将其从当前位置移除或将其克隆
第3个回答  2012-06-07
不可以追问

为什么不可以,理论上来说可以啊!

追答

你说一片树叶会长到多个树干上面么

相似回答