Нет варианта отключения концепции, я так думаю, но вы можете просто показать, что когда-либо context menu
элементов необходимо, как указано ниже, если у вас определена древовидная структура, и у каждого вида дерева есть TAG
, или вы можете определить свой собственный numbers
для этого TAG
. После этого попробуйте как следует
private void tvwACH_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
{
tvwACH.SelectedNode = e.Node;
if (Convert.ToInt16(e.Node.Tag) == 3)
{
New.Text = "New";
contextMenu.Items.Remove(New);
contextMenu.Items.Add(Save);
contextMenu.Items.Add(Saveas);
contextMenu.Items.Add(Remove);
contextMenu.Items.Remove(addEntry);
}
if (tvwACH.SelectedNode.Tag == null)
{
string str = tvwACH.SelectedNode.Parent.ToString().Substring(10);
if (str == "BatchHeader")
{
contextMenu.Items.Remove(New);
contextMenu.Items.Remove(Remove);
contextMenu.Items.Remove(Save);
contextMenu.Items.Remove(Saveas);
contextMenu.Items.Add(addEntry);
}
else
{
contextMenu.Items.Add(New);
New.Text = "Add new Batch";
contextMenu.Items.Remove(Remove);
contextMenu.Items.Remove(Save);
contextMenu.Items.Remove(Saveas);
contextMenu.Items.Remove(addEntry);
}
}
if (Convert.ToInt16(tvwACH.SelectedNode.Tag) == 1)
{
contextMenu.Items.Add(New);
New.Text = "New";
contextMenu.Items.Remove(Remove);
contextMenu.Items.Remove(Saveas);
contextMenu.Items.Remove(Save);
contextMenu.Items.Remove(addEntry);
}
if (Convert.ToInt16(tvwACH.SelectedNode.Tag) == 2)
{
contextMenu.Items.Add(New);
New.Text = "Add new FileHeader";
contextMenu.Items.Remove(Remove);
contextMenu.Items.Remove(Saveas);
contextMenu.Items.Remove(Save);
contextMenu.Items.Remove(addEntry);
}
}
Согласно вашему требованию вы можете сделать следующее: вам просто нужно было отключить или включить элементы, которые вам не нужны, это также хорошо работает, но TAG
важно для вас
private void treeView1_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
{
treeView1.SelectedNode = e.Node;
if (Convert.ToInt16(e.Node.Tag) == 1)
{
childToolStripMenuItem.Enabled = false;
rootToolStripMenuItem.Enabled = true;
}
if (Convert.ToInt16(e.Node.Tag) == 2)
{
childToolStripMenuItem.Enabled = true;
rootToolStripMenuItem.Enabled = false;
}
}