在treeview控件中单击某一个节点时,怎样知道,该接点是第几级,如果根节点是第一级,根节点的孩子均是第二级

mine2000 2004-04-16 08:56:29
在treeview控件中单击某一个节点时,怎样知道,该接点是第几级,如果根节点是第一级,根节点的孩子均是第二级
...全文
360 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
ygrobin 2004-04-21
  • 打赏
  • 举报
回复
你可以根据node.fullpath 中的"\"个数来判断
'返回被点击结点的层数,用node.fullpath中的"\"判断,
'根结点为0层,依次类推,返回1时,证明为"产品\部件"
Public Function NodeStep(str As String) As Integer
Dim intLen As Integer
Dim i, j As Integer
Dim a() As String

j = 0
intLen = Len(str)
ReDim a(intLen + 1)
For i = 1 To intLen
a(i) = Mid(Trim(str), i, 1)
If a(i) = "\" Then
j = j + 1
End If
Next i
NodeStep = j
End Function
northwolves 2004-04-21
  • 打赏
  • 举报
回复
Private Sub TreeView1_NodeClick(ByVal Node As MSComctlLib.Node)
Dim mynode As Node, level As Integer
level = 1
Set mynode = Node
For i = 1 To TreeView1.Nodes.Count
If mynode = mynode.Root Then Exit For
Set mynode = mynode.Parent
level = level + 1
Next
MsgBox "当前结点层次:" & level
End Sub
supergreenbean 2004-04-19
  • 打赏
  • 举报
回复
Public Function TellLevel(ByVal oNode As Node) As Long
TellLevel = UBound(Split(oNode.FullPath, "\")) + 1
End Function

Private Sub TreeView1_NodeClick(ByVal Node As MSComctlLib.Node)
Debug.Print "现在在第" & CStr(TellLevel(Node)) & "级目录"
End Sub
tangxiaosan001 2004-04-16
  • 打赏
  • 举报
回复
就是啊,要么就多加个字段来判断是第几级.
daisy8675 2004-04-16
  • 打赏
  • 举报
回复
根據key判斷.

建立樹的時候,自己可以在key上下手腳,比如第靈層,可以取key為 s1
當然你也可以在節點的tag屬性下偷偷藏數值,比如靈節點就是"root"這樣在nodeclick中間就可以取到呀^^
programfish 2004-04-16
  • 打赏
  • 举报
回复
有个VB.NET的例子给你参考一下。http://www.csdn.net/develop/read_article.asp?id=17948

1,451

社区成员

发帖
与我相关
我的任务
社区描述
VB 控件
社区管理员
  • 控件
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧