October 20, 2018
Hot Topics:

VB Coding Tip: Treeview - Label Editing

  • November 19, 2002
  • By Sam Huggill
  • Send Email »
  • More Articles »

After the success of the last three parts of the Treeview series when I found this code on Microsoft's web site, I thought it would be good to share it with you.

This code allows you to simulate the label editing in Explorer. If the user leaves it blank then a message box with tell you and you will have to enter a value. If you press Esc then it will restore the previous value.

Option Explicit
Dim sNodeText As String  ' to hold the node text
Private Sub Form_Load()
    'Add some nodes to the TreeView
    TreeView1.Nodes.Add , , , "test"
    TreeView1.Nodes.Add , , , "test 1"
    TreeView1.Nodes.Add , , , "test 2"
End Sub
Private Sub Timer1_Timer()
    ' Put the TreeView in edit mode
    Timer1.Enabled = False
End Sub
Private Sub TreeView1_AfterLabelEdit( _
         Cancel As Integer, _
         NewString As String)
 ' Make sure that we have a value in the Label
 If Len(NewString) < 1 Then
   ' The Label is empty
   MsgBox "Error! You must enter a value"
   ' enable the Timer to get us back
   '   to edit mode
   Timer1.Interval = 100
   Timer1.Enabled = True
 End If
End Sub
Private Sub TreeView1_BeforeLabelEdit( _
        Cancel As Integer)
 ' If the label is not empty store the string
 If Len(TreeView1.SelectedItem.Text) > 0 Then
   sNodeText = TreeView1.SelectedItem.Text
 End If
End Sub
Private Sub TreeView1_KeyUp(KeyCode As Integer, _
                            Shift As Integer)
 ' If the user hits the Esc key then restore 
 '   the old label
 If KeyCode = vbKeyEscape Then
   TreeView1.SelectedItem.Text = sNodeText
 End If
End Sub

Comment and Contribute


(Maximum characters: 1200). You have characters left.



Enterprise Development Update

Don't miss an article. Subscribe to our newsletter below.

By submitting your information, you agree that developer.com may send you developer offers via email, phone and text message, as well as email offers about other products and services that developer believes may be of interest to you. developer will process your information in accordance with the Quinstreet Privacy Policy.


Thanks for your registration, follow us on our social networks to keep up-to-date