VB.netでTreeViewのノードにコンテキストメニューを追加してメニューの「名前を変更する」をクリックするとノードの名前が入力待機状態になるようにする

docs.microsoft.com

↑を参考にしました

Public Class Form1

  Private ctMenuStrip As New ContextMenuStrip

  Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    TreeView1.LabelEdit = True
    TreeView1.Nodes.Add("いち")
    TreeView1.Nodes.Add("に")
    TreeView1.Nodes(0).ContextMenuStrip = ctMenuStrip
    TreeView1.Nodes(1).ContextMenuStrip = ctMenuStrip

    ctMenuStrip.Items.Add("名前を変更する")
    AddHandler ctMenuStrip.Items(0).Click, AddressOf ctMenuStrip_0_Click
  End Sub

  Private Sub ctMenuStrip_0_Click(ByVal sender As Object, ByVal e As System.EventArgs) 'Handles ctMenuStrip0.Click
    TreeView1.SelectedNode.BeginEdit()
  End Sub

  Private Sub TreeView1_NodeMouseClick(sender As Object, e As TreeNodeMouseClickEventArgs) Handles TreeView1.NodeMouseClick
    TreeView1.SelectedNode = e.Node
    TreeView1.Focus()
    e.Node.ContextMenuStrip.Show()
  End Sub
End Class