private void TreeViewMouseClick(object sender, EventArgs e) { TreeNode node = tv.GetNodeAt(((MouseEventArgs)e).Location); if (((MouseEventArgs)e).Button == MouseButtons.Right) { HideAllContextMenus(); switch (node.Level) { case 0: break; case 1: if (node.Text.Equals("Requirements")) { AddRequirementContext.Show(Cursor.Position); contextDataNode = node; tv.SelectedNode = node; } else { // display effect contextual menu AddEffectContext.Show(Cursor.Position); tv.SelectedNode = node; contextDataNode = node; } break; case 2: if (node.Parent.Text != "Requirements") { EffectContext.Show(Cursor.Position); contextDataNode = node; tv.SelectedNode = node; } else { } break; } } else { if (node != null && node.Level == 0) { HideAllDynamicMenus(); workingDataNode = node; ShowAO(Data[node.Name]); } else if (node != null && node.Level == 2) { if (node.Parent.Text != "Requirements") { HideAllDynamicMenus(); workingDataNode = node; ShowEP(effects[node.Name]); } else { HideAllDynamicMenus(); workingDataNode = node; ShowRQ(Requirements[node.Name]); } } } }
private void HideAllContextMenus() { AddEffectContext.Hide(); AddRequirementContext.Hide(); EffectContext.Hide(); }