【发布时间】:2015-04-22 18:42:09
【问题描述】:
请问有人知道如何通过单击按钮在特定深度搜索多个树视图节点的文本吗?树视图节点排列如下:
我想防止用户在树形视图中输入相同标题的重复孙节点,即第二次输入“电影 2”应该会弹出一条消息,指出电影 2 已经输入;如果没有,则添加新的电影标题。
孙节点标题从文本框输入到树视图中。我正在使用 Visual Basic 2010 Express。提前谢谢你。
我使用的代码是:
Private Sub Button11_Click(sender As System.Object, e As System.EventArgs) Handles Button11.Click
'New movie title has been introduced into the study
Dim SelectedNode As TreeNode
SelectedNode = TreeView1.SelectedNode
'To avoid entering duplicate movies title
Dim NewMovieName As String = TextBox1.Text.Trim.ToLower ' The content of that node
Dim parentNode = SelectedNode.Parent ' Get the parent
Dim childNodes As TreeNodeCollection = parentNode.Nodes ' Get all the children
Dim WeHaveDuplicate As Boolean = False ' We use this to flag if a duplicate is found. Initially set to false.
For Each tempNode As TreeNode In childNodes
'Test that we have the same name but not referring to the same node
If tempNode.Text.Trim.ToLower = NewMovieName And tempNode IsNot parentNode Then WeHaveDuplicate = True
Next
If WeHaveDuplicate = True Then
'Send message to user
MsgBox(TextBox1.Text & " as a parameter has already been considered.", vbOKOnly)
Exit Sub
Else
parentNode.Nodes.Add(TextBox1.Text)
TreeView1.ExpandAll()
End If
Exit Sub
End Sub
所有帮助将不胜感激。谢谢。
【问题讨论】:
-
@TheBlueDog 非常感谢您的好心 cmets。我期待您的明智建议。