To try out the TreeView I use the following code.
private void Form5_Load(object sender, EventArgs e) { CreateRootNode(); treeView1.ContextMenuStrip = contextMenuStrip1; foreach (TreeNode RootNode in treeView1.Nodes) { RootNode.ContextMenuStrip = contextMenuStrip2; foreach (TreeNode ChildNode in RootNode.Nodes) ChildNode.ContextMenuStrip = contextMenuStrip2; } } // Заполнение дерева узлами public void CreateRootNode() { // Create the root node. // Создаем корневой узел. TreeNode docNode = new TreeNode("Documents"); // Add some additional nodes. // Добавьте некоторые дополнительные узлы. docNode.Nodes.Add("phoneList.doc"); docNode.Nodes.Add("resume.doc"); // Add the root nodes to the TreeView. // Добавьте корневые узлы в TreeView. treeView1.Nodes.Add(docNode); } // Добавить Корневой private void AddNewRootToolStripMenuItem_Click(System.Object sender, System.EventArgs e) { frmEnterText frm = new frmEnterText(); frm.ShowDialog(); string TempNodeText = frm.txtNodeName.Text; frm.Dispose(); if (TempNodeText.Trim() != "") { TreeNode _Node = new TreeNode(); _Node.Text = TempNodeText; _Node.ContextMenuStrip = contextMenuStrip2; treeView1.Nodes.Add(_Node); } } private void ClearAllToolStripMenuItem_Click(System.Object sender, System.EventArgs e) { treeView1.Nodes.Clear(); } // Добавить Подчинённый private void AddChildRootToolStripMenuItem_Click(System.Object sender, System.EventArgs e) { frmEnterText frm = new frmEnterText(); frm.ShowDialog(); string TempNodeText = frm.txtNodeName.Text; frm.Dispose(); if (TempNodeText.Trim() != "") { TreeNode _Node = new TreeNode(); _Node.Text = TempNodeText; _Node.ContextMenuStrip = contextMenuStrip2; treeView1.SelectedNode.Nodes.Add(_Node); } } // Переименовать private void RenameToolStripMenuItem_Click(System.Object sender, System.EventArgs e) { frmEnterText frm = new frmEnterText(); frm.ShowDialog(); string TempNodeText = frm.txtNodeName.Text; frm.Dispose(); TreeNode SelectedNode = treeView1.SelectedNode; if (TempNodeText.Trim() != "") SelectedNode.Text = TempNodeText; } // Удалить private void DeleteToolStripMenuItem_Click(System.Object sender, System.EventArgs e) { treeView1.SelectedNode.Remove(); } When the form is closed, the tree is saved in the XML file (this code is not considered).
Using the context menu, the code performs work with nodes:
- add;
- delete;
- rename.
When executing Rename, a new node name is entered in a separate dialog.
Question.
How to make the "rename" can be performed in a tree node (see screen)?