1.首先判断有没有父节点,有父节点的,NEW一个父节点然后增加;没有父节点就选当前的节点 treeView2.Nodes.Add(newChildNode);
2.父节点的判断可以用leveL来判断
3.下面的程序其实是增加第二个阶梯(level =1),当你右击第一个阶梯时(level=0,父节点),那么程序增加的是第二阶梯(第一阶梯的子节点);当你选第二阶梯,增加的是兄节点
总结:这个是固定一个右键上的增加固定窗口,比如增加的窗口始终是在第二阶梯,也就是下面的程序是增加第二阶梯的
public void AddChildNode(TreeNode tn, string NewChileName) { if (tn.Level == 1) { TreeNode parentNode = tn.Parent; TreeNode newChildNode = new TreeNode(); newChildNode.Text = NewChileName; parentNode.Nodes.Add(newChildNode); } else if ( tn.Level ==0) { TreeNode newChildNode = new TreeNode(); newChildNode.Text = NewChileName; tn.Nodes.Add(newChildNode); } }
——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
二 还有一个程序是,固定增加项的 ,比如:右击上的选择有一个增加兄类,也就是说不管你点那个节点,他增加的都是兄类;或者增加子节点的,不管你选什么节点,他都是增加的子节点
这个程序简单,但是实用性没有上面的强,毕竟我们增加固定项的时候多,也就是说我们无论点父节点还是本节点 ,右键上显示的增加“固定项”,都能在第二阶梯显示,而这个程序当我们点本项的时候只能增加子节点
private void AddChildNode(TreeNode tn, string NewChileName) { TreeNode newChildNode = new TreeNode(); newChildNode.Text = NewChileName; tn.Nodes.Add(newChildNode); }
看两个图片比较就明白了,你总不能让操作者来选择父节点和兄节点吧
固定选项
固定节点,也就是第二个,这个程序也好写,但是。。。。。