void Tree_MouseClick(object sender, MouseEventArgs e) { if (e.Button == System.Windows.Forms.MouseButtons.Right) { MenusTree.ShowPopup(Cursor.Position); } }
private void AddButton_Click(object sender, EventArgs e) { ComboItem selectedItem = (ComboItem)TargetClassPath.SelectedItem; if (menus_ == null) { MessageBox.Show("未取回任何菜单,将按照初次使用进行配置"); menus_ = new List <Menus>(); } var exist = menus_.FirstOrDefault(m => m.MenuName == txtMenuName.Text.Trim()); if (exist != null) { MessageBox.Show("同名菜单已存在"); return; } if (selectedItem.Value == 0) { Menus targetMenu = new Menus { MenuName = txtMenuName.Text.Trim(), MenuPath = string.Empty, ParentId = 0, ParentName = string.Empty, Index = int.Parse(txtIndex.Text.Trim()), MenuId = menus_.Count + 1 }; MenusTree.Nodes.Add(targetMenu.MenuName); menus_.Add(targetMenu); } else { TreeNode parentNode = MenusTree.SelectedNode; if (parentNode == null) { MessageBox.Show("添加2级菜单之前请先选择要添加的根节点位置"); return; } Menus parentMenu = menus_.Find(p => p.ParentName == parentNode.Text); if (parentMenu != null && parentMenu.ParentId != 0) { MessageBox.Show("不能使用2级菜单作为根节点"); return; } Menus targetMenu = new Menus { MenuName = txtMenuName.Text.Trim(), MenuPath = selectedItem.ToString(), ParentId = menus_.Find(p => p.MenuName == parentNode.Text).Id, ParentName = parentNode.Text, Index = int.Parse(txtIndex.Text.Trim()), MenuId = menus_.Count + 1 }; parentNode.Nodes.Add(targetMenu.MenuName); menus_.Add(targetMenu); } MenusTree.ExpandAll(); }