以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 关于回答我的节点不重复循环语句的一些理解疑问? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=104366) |
-- 作者:fengliulin -- 发布时间:2017/7/28 0:22:00 -- 关于回答我的节点不重复循环语句的一些理解疑问? Dim pn = e.node.ParentNode \'这个是创建所选择的节点父节点,也就是同级别节点的名称赋值给pn, 但是变量怎么没类型,不太懂? If pn Is Nothing Then pn = e.sender \'判断父节点的名称不为空,把触发目录树的事件返回给pn For Each nd As object In pn.nodes \'这创建 object 对象类型不明白, pn.nodes 是 父节点的集合,还是父节点的子节点的集合? If nd.text=e.NewText AndAlso nd.name <> e.node.name Then 标题 等于 新的标题,并且 名字 不等于 所选节点的名字, 这里为什么要不等 于,还有, 节点的标题和名字(name、text)有什么区别? msgbox("节点重复") e.cancel = True Return End If Next 1、求解答,我的备注理解的对吗? 应该怎么理解上面的代码,帮助文件感觉这个没有datatbale tabale 那么详细? 2、Dim tr As WinForm.TreeView ’TreeView和TreeNode和Nodes,三个啥关系,这一块帮助我看的很疑惑
Dim td As
WinForm.TreeNode [此贴子已经被作者于2017/7/28 0:23:48编辑过]
|
-- 作者:有点甜 -- 发布时间:2017/7/28 8:58:00 -- Dim pn = e.node.ParentNode \'不声明类型,就是object类型 If pn Is Nothing Then pn = e.sender \'父节点如果是空,说明是第一级节点,它没有父节点,只能赋值为目录树本身,即trv For Each nd As object In pn.nodes \'循环父节点下的子节点 If nd.text=e.NewText AndAlso nd.name <> e.node.name Then \'如果节点的名称等于新节点名称,则重复(排除正在编辑的那个节点) msgbox("节点重复") e.cancel = True Return End If Next |
-- 作者:有点甜 -- 发布时间:2017/7/28 9:00:00 -- 2、treeview 是目录树;treenode 是某一个节点; nodes 是某一个节点下的所有子节点。
nd.text是你看到的节点的小名;nd.name是节点的真实姓名,一般和小名一样。 |