Здесь я создаю несколько древовидных представлений и добавляю, что задает c древовидное представление на панель потока, теперь я добавляю sh, я добавляю элемент контекстной меню, чтобы пользователь мог редактировать узел, добавлять узел или удалять узел. Как мне этого добиться?
private void button1_Click(object sender, EventArgs e)
{
for (int i = 0; i < ThreatEvaluationInstances.Count; i++)
{
TreeView tv = new TreeView();
tv.Name = "tv" + i;
tv.Location = new Point(8, i * 100);
tv.Size = new Size(841, 125);
TreeNode root = new TreeNode(ThreatEvaluationInstances.ElementAt(i).Threat1 +
" (" + ThreatEvaluationInstances.ElementAt(i).AttackPotential1 + ") ");
tv.Nodes.Add(root);
tv.ContextMenuStrip = AttackTreesMenuStrip;
flowLayoutPanel1.Controls.Add(tv);
}
//populateTreeview();
}
Ниже код не работает
private void AttackTreesMenuStrip_ItemClicked(object sender, ToolStripItemClickedEventArgs e)
{
try
{
TreeView tv = AttackTreesMenuStrip.SourceControl as TreeView;
switch (e.ClickedItem.Text)
{
case "Edit":
tv.SelectedNode.BeginEdit();
break;
case "Add Sub Threat":
TreeNode childNode = new TreeNode("Add threat here..");
tv.SelectedNode.Nodes.Add(childNode);
break;
case "Remove Threat":
if (MessageBox.Show("Are you sure you want to Delete this threat", "Delete Threat", MessageBoxButtons.YesNo) == DialogResult.Yes)
tv.SelectedNode.Remove();
break;
}
}
catch (Exception a)
{
a.ToString();
}
}