Практическое руководство. Подключение контекстного меню к узлу элемента управления TreeView
Windows Forms TreeView элемент управления отображает иерархию узлов аналогично к файлам и папкам, отображаемым в левой части проводника Windows. Установив ContextMenuStrip свойство, можно предоставить контекстно-зависимые операции для пользователя при их правой кнопкой мыши TreeView элемента управления. Связав ContextMenuStrip компонента с отдельными TreeNode элементы, можно добавить пользовательский уровень функциональности контекстное меню для вашей TreeView элементов управления.
Чтобы связать контекстное меню с TreeNode программным способом
Создать экземпляр TreeView управления с соответствующими параметрами свойств, создайте корневой TreeNode, а затем добавьте подузлы.
Создать экземпляр ContextMenuStrip компонента, а затем добавьте ToolStripMenuItem для каждой операции, которые требуется сделать доступными во время выполнения.
Задайте ContextMenuStrip свойства соответствующего TreeNode в контекстное меню создания.
Если это свойство имеет значение, в контекстном меню отображается при щелчке правой кнопкой узел.
В следующем примере кода создает базовое TreeView и ContextMenuStrip связанный с этим корнем TreeNode из TreeView. Вам потребуется подставить пункты меню, которые соответствуют TreeView при разработке. Кроме того, необходимо написать код для обработки Click события для этих пунктов меню.
// Declare the TreeView and ContextMenuStrip
private TreeView menuTreeView;
private ContextMenuStrip docMenu;
public void InitializeMenuTreeView()
{
// Create the TreeView.
menuTreeView = new TreeView();
menuTreeView.Size = new Size(200, 200);
// 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.
menuTreeView.Nodes.Add(docNode);
// Create the ContextMenuStrip.
docMenu = new ContextMenuStrip();
//Create some menu items.
ToolStripMenuItem openLabel = new ToolStripMenuItem();
openLabel.Text = "Open";
ToolStripMenuItem deleteLabel = new ToolStripMenuItem();
deleteLabel.Text = "Delete";
ToolStripMenuItem renameLabel = new ToolStripMenuItem();
renameLabel.Text = "Rename";
//Add the menu items to the menu.
docMenu.Items.AddRange(new ToolStripMenuItem[]{openLabel,
deleteLabel, renameLabel});
// Set the ContextMenuStrip property to the ContextMenuStrip.
docNode.ContextMenuStrip = docMenu;
// Add the TreeView to the form.
this.Controls.Add(menuTreeView);
}