예제 #1
0
파일: Main.cs 프로젝트: shansheng/QDJJ
 void Tree_MouseClick(object sender, MouseEventArgs e)
 {
     if (e.Button == System.Windows.Forms.MouseButtons.Right)
     {
         MenusTree.ShowPopup(Cursor.Position);
     }
 }
예제 #2
0
        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();
        }