The easiest way for the users to edit the labels (the text for each node) during run time is to set the TreeView control's LabelEdit property to tvwAutomatic. Now, like in explorer, when the item is clicked once, you can edit its caption
By using the AfterLabelEdit event, you can check that the new caption is valid, and that it is not empty:
Private Sub TreeView1_AfterLabelEdit(Cancel As Integer, NewString As
String)
If NewString = Empty Then
'// new string is empty
Msgbox "Please enter a new name"
'// cancel edit
Cancel = -1
Else
'// string ok
End If
End Sub
There is also an BeforeLabelEdit event that occurs before the item is edited. You can use this to prevent the root item being edited, for example:
Private Sub TreeView1_BeforeLabelEdit(Cancel As Integer)
If TreeView1.SelectedItem.Key = "root" Then
'// item is root item
Msgbox "You cannot edit the root items
name"
'// cancel edit
Cancel = -1
End If
End Sub
Comments