VB.NET中TreeView查找下一个节点

Private Function GetNextNode(ByVal ATreeNode) As TreeNode
If ATreeNode Is Nothing Then
Return Nothing
End If
If ATreeNode.Nodes.Count > 0 Then
Return ATreeNode.Nodes(0)
Else
While True
If ATreeNode.Parent Is Nothing Then
If ATreeNode.Index + 1 < ATreeNode.TreeView.Nodes.Count Then
Return ATreeNode.TreeView.Nodes(ATreeNode.Index + 1)
Else
Return Nothing
End If
Else
If ATreeNode.Index + 1 < ATreeNode.Parent.Nodes.Count Then
Return ATreeNode.Parent.Nodes(ATreeNode.Index + 1)
Else
ATreeNode = ATreeNode.Parent
End If
End If
End While
Return Nothing
End If
End Function
Private Sub FindNextNode(ByVal ATreeView As TreeView, ByVal AText As String)
If ATreeView Is Nothing Or ATreeView.Nodes.Count <= 0 Then
Return
End If
Dim vTreeNode As TreeNode = ATreeView.SelectedNode
If vTreeNode Is Nothing Then
vTreeNode = ATreeView.Nodes(0)
Else
vTreeNode = GetNextNode(vTreeNode)
End If
Dim vStartNode As TreeNode = vTreeNode
While Not vTreeNode Is Nothing
If vTreeNode.Text.IndexOf(AText) >= 0 Then
ATreeView.SelectedNode = vTreeNode
Return
End If
vTreeNode = GetNextNode(vTreeNode)
End While
ATreeView.SelectedNode = Nothing
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button1.Click
FindNextNode(TreeView1, "节点")
TreeView1.HideSelection = False
If Not TreeView1.SelectedNode Is Nothing Then
If TreeView1.SelectedNode.IsVisible Then
TreeView1.SelectedNode.EnsureVisible()
End If
End If
End Sub
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值