以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  TreeView修改判断是否重复问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=172850)

--  作者:z769036165
--  发布时间:2021/11/3 18:27:00
--  TreeView修改判断是否重复问题
TreeView控件中,在AfterEditNode中判断重命名与新建时如果标题出现重复提示重复报错

If e.Node.Nodes.Contains(e.NewText) Then
    MessageBox.Show("错误")
    ......
End If

这样没效果,有没有好的方法?,难道需要遍历所有的节点一个个判断?

--  作者:有点蓝
--  发布时间:2021/11/4 8:30:00
--  
这种用法只能判断同一层节点,如果还要判断父级和子级,只能遍历判断
--  作者:z769036165
--  发布时间:2021/11/4 8:54:00
--  
就只要判断同层的节点,判断不出来

还有一个新增的节点在不修改的情况下AfterEditNode没作用
Dim tr As WinForm.TreeView = e.Form.Controls("TreeView1")
Dim nd As WinForm.TreeNode
nd = tr.Nodes.Add("新项目")
tr.SelectedNode = nd
tr.Select()
tr.BeginEdit()

不停的点新增的时候,可以不停的重复新建,没修改节点名的情况下,对"新项目"不做判断

--  作者:有点蓝
--  发布时间:2021/11/4 8:59:00
--  
到BeforeEditNode去判断和取消,都已经结束编辑了,再判断有啥用