Foxtable(狐表)用户栏目专家坐堂 → 关于回答我的节点不重复循环语句的一些理解疑问?


  共有1919人关注过本帖树形打印复制链接

主题:关于回答我的节点不重复循环语句的一些理解疑问?

帅哥哟,离线,有人找我吗?
fengliulin
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:21 积分:277 威望:0 精华:0 注册:2017/7/16 2:07:00
关于回答我的节点不重复循环语句的一些理解疑问?  发帖心情 Post By: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
tr = Forms(
"窗口1").Controls("TreeView1")
td = tr.Nodes(
0)
td = td.Nodes(
0)
td.Text =
"筛选"          ‘td.Text和用td.name有何区别



[此贴子已经被作者于2017/7/28 0:23:48编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By: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

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/7/28 9:00:00 [只看该作者]

2、treeview 是目录树;treenode 是某一个节点; nodes 是某一个节点下的所有子节点。

 

nd.text是你看到的节点的小名;nd.name是节点的真实姓名,一般和小名一样。


 回到顶部