treeview控件有个最顶端节点,该节点为其他节点的父节点或祖父节点或祖祖祖祖祖父节点,这个节点没有父节点。
该判断的意思是:如果该选择的节点没有父节点,就移除选中的节点,如果有,则移除该选中节点的父节点。
这个判断类似于在表格里移除行数据一个概念,比如我们事先定义好,一个列表要保留两行(一行标题,一行空白)的话,那你在移除列表数据时,也要进行判断,当列表只有两行时,那你只能清除第二行数据而不能去移除它!!!
treeView1.Nodes这个只是取得根节点..那就是你的代码
treeView1.Nodes.Remove(selectNode);只能删除根节点
因为要删父级, 如果已经是顶级, 将没有父组, 删除会报异常. 你也可以不判断, 加个异常处理, 不弹错误.....但这是不合常理的做法了.
不会