在C#winform中使用treeview
怎么删除当前选中节点的父节点,还有在删除选中节点的代码我有些地方不懂 //删除指定的选中节点 &nbs...
怎么删除当前选中节点的父节点,还有在删除选中节点的代码我有些地方不懂 //删除指定的选中节点 private void button3_Click(object sender, EventArgs e) { TreeNode selectNode = treeView1.SelectedNode; TreeNode parentNode = selectNode.Parent; if (parentNode == null) { treeView1.Nodes.Remove(selectNode); } else { parentNode.Nodes.Remove(selectNode); } }请问为什么不单单只用句 treeView1.Nodes.Remove(selectNode);这话直接删除选中节点,而要去判断,请高手回答
展开
展开全部
treeview控件有个最顶端节点,该节点为其他节点的父节点或祖父节点或祖祖祖祖祖父节点,这个节点没有父节点。
该判断的意思是:如果该选择的节点没有父节点,就移除选中的节点,如果有,则移除该选中节点的父节点。
这个判断类似于在表格里移除行数据一个概念,比如我们事先定义好,一个列表要保留两行(一行标题,一行空白)的话,那你在移除列表数据时,也要进行判断,当列表只有两行时,那你只能清除第二行数据而不能去移除它!!!
该判断的意思是:如果该选择的节点没有父节点,就移除选中的节点,如果有,则移除该选中节点的父节点。
这个判断类似于在表格里移除行数据一个概念,比如我们事先定义好,一个列表要保留两行(一行标题,一行空白)的话,那你在移除列表数据时,也要进行判断,当列表只有两行时,那你只能清除第二行数据而不能去移除它!!!
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
treeView1.Nodes这个只是取得根节点..那就是你的代码
treeView1.Nodes.Remove(selectNode);只能删除根节点
treeView1.Nodes.Remove(selectNode);只能删除根节点
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
因为要删父级, 如果已经是顶级, 将没有父组, 删除会报异常. 你也可以不判断, 加个异常处理, 不弹错误.....但这是不合常理的做法了.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询