• 大小: 0.89M
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2024-04-28
  • 语言: C#
  • 标签: 动态  

资源简介

用树形列表动态显示菜单,便于权限管理

资源截图

代码片段和文件信息

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace 用树型列表动态显示菜单
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        #region  将MenuStrip控件中的信息添加到TreeView控件中
        /// 
        /// 将MenuStrip控件中的首行命令项添加到TreeView控件中
        /// 

        /// TreeView控件
        /// MenuStrip控件
        public void GetMenu(TreeView treeV MenuStrip MenuS)
        {
            bool Var_Bool = true;
            for (int i = 0; i < MenuS.Items.Count; i++) //遍历MenuStrip组件中的一级菜单项
            {
                //将一级菜单项的名称添加到TreeView组件的根节点中,并设置当前节点的子节点newNode1
                TreeNode newNode1 = treeV.Nodes.Add(MenuS.Items[i].Text);
                if (MenuS.Items[i].Enabled == false)//判断当前项是否为可用
                {
                    newNode1.ForeColor = Color.Silver;//改变树节点的字体颜色为不可用色
                    Var_Bool = false;
                }
                else
                {
                    newNode1.ForeColor = Color.Black;//改变树节点的字体颜色为可用色
                    Var_Bool = true;
                }
                newNode1.Tag = 0;//标识,有子项的命令项
                //将当前菜单项的所有相关信息存入到ToolStripDropDownItem对象中
                ToolStripDropDownItem newmenu = (ToolStripDropDownItem)MenuS.Items[i];
                GetCavernMenu(newNode1 newmenu Var_Bool);//添加多层命令项
            }
        }

        /// 
        /// 将MenuStrip控件中的多层命今项添加到TreeView控件中
        /// 

        /// TreeNode对象
        /// ToolStripDropDownItem对象
        /// 标识(是否可用)
        public void GetCavernMenu(TreeNode newNodeA ToolStripDropDownItem newmenuA bool BL)
        {
            bool Var_Bool = true;
            if (newmenuA.HasDropDownItems && newmenuA.DropDownItems.Count > 0)
                for (int j = 0; j < newmenuA.DropDownItems.Count; j++)    //遍历二级菜单项
                {
                    //将二级菜单名称添加到TreeView组件的子节点newNode1中,并设置当前节点的子节点newNode2
                    TreeNode newNodeB = newNodeA.Nodes.Add(newmenuA.DropDownItems[j].Text);
                    Var_Bool = true;
                    if (BL == false)//判断当前命令项的上一级命令是否可用
                    {
                        newNodeB.ForeColor = Color.Silver;//设置当前命令项的字体颜色为不可用色
                        newNodeB.Tag = 0;//标识,不显示相应的窗体
                        Var_Bool = false;
                    }
                    else
                    {
                        if (newmenuA.DropDownItems[j].Enabled == false)//判断当前命令项是否为可用
                        {
                            newNodeB.ForeColor = Color.Silver;//设置当前命令项的字体颜色为不可用色
                         

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

    ..A..H.     57856  2020-03-18 14:26  用树型列表动态显示菜单\.vs\用树型列表动态显示菜单\v15\.suo

     文件          0  2020-03-18 13:40  用树型列表动态显示菜单\.vs\用树型列表动态显示菜单\v15\Server\sqlite3\db.lock

     文件     524288  2020-03-18 14:26  用树型列表动态显示菜单\.vs\用树型列表动态显示菜单\v15\Server\sqlite3\storage.ide

     文件     671758  2010-08-18 17:50  用树型列表动态显示菜单\Backup\用树型列表动态显示菜单\1.bmp

     文件      16421  2009-02-12 08:51  用树型列表动态显示菜单\Backup\用树型列表动态显示菜单\Form1.cs

     文件      35693  2009-02-11 17:06  用树型列表动态显示菜单\Backup\用树型列表动态显示菜单\Form1.Designer.cs

     文件      12515  2009-02-11 17:06  用树型列表动态显示菜单\Backup\用树型列表动态显示菜单\Form1.resx

     文件        383  2010-08-18 17:50  用树型列表动态显示菜单\Backup\用树型列表动态显示菜单\Form2.cs

     文件       1430  2008-10-14 11:29  用树型列表动态显示菜单\Backup\用树型列表动态显示菜单\Form2.Designer.cs

     文件       5814  2008-10-14 11:29  用树型列表动态显示菜单\Backup\用树型列表动态显示菜单\Form2.resx

     文件        908  2009-02-12 08:52  用树型列表动态显示菜单\Backup\用树型列表动态显示菜单\Frm_Logon.cs

     文件       5515  2009-02-12 08:51  用树型列表动态显示菜单\Backup\用树型列表动态显示菜单\Frm_Logon.Designer.cs

     文件       5814  2009-02-12 08:51  用树型列表动态显示菜单\Backup\用树型列表动态显示菜单\Frm_Logon.resx

     文件        514  2010-08-18 17:50  用树型列表动态显示菜单\Backup\用树型列表动态显示菜单\Program.cs

     文件       1410  2008-12-12 15:21  用树型列表动态显示菜单\Backup\用树型列表动态显示菜单\Properties\AssemblyInfo.cs

     文件       3133  2009-01-19 14:12  用树型列表动态显示菜单\Backup\用树型列表动态显示菜单\Properties\Resources.Designer.cs

     文件       6180  2009-01-19 14:12  用树型列表动态显示菜单\Backup\用树型列表动态显示菜单\Properties\Resources.resx

     文件       1118  2008-10-14 09:10  用树型列表动态显示菜单\Backup\用树型列表动态显示菜单\Properties\Settings.Designer.cs

     文件        249  2008-10-14 09:10  用树型列表动态显示菜单\Backup\用树型列表动态显示菜单\Properties\Settings.settings

     文件       4573  2009-02-11 17:06  用树型列表动态显示菜单\Backup\用树型列表动态显示菜单\用树型列表动态显示菜单.csproj

     文件        989  2008-10-14 09:10  用树型列表动态显示菜单\Backup\用树型列表动态显示菜单.sln

     文件      47472  2020-03-18 13:40  用树型列表动态显示菜单\UpgradeLog.htm

     文件     671758  2010-08-18 17:50  用树型列表动态显示菜单\用树型列表动态显示菜单\1.bmp

     文件     701952  2020-03-18 13:42  用树型列表动态显示菜单\用树型列表动态显示菜单\bin\Debug\用树型列表动态显示菜单.exe

     文件      44544  2020-03-18 13:42  用树型列表动态显示菜单\用树型列表动态显示菜单\bin\Debug\用树型列表动态显示菜单.pdb

     文件      14328  2009-02-13 09:48  用树型列表动态显示菜单\用树型列表动态显示菜单\bin\Debug\用树型列表动态显示菜单.vshost.exe

     文件        490  2007-07-21 01:33  用树型列表动态显示菜单\用树型列表动态显示菜单\bin\Debug\用树型列表动态显示菜单.vshost.exe.manifest

     文件      16421  2009-02-12 08:51  用树型列表动态显示菜单\用树型列表动态显示菜单\Form1.cs

     文件      35693  2009-02-11 17:06  用树型列表动态显示菜单\用树型列表动态显示菜单\Form1.Designer.cs

     文件      12515  2009-02-11 17:06  用树型列表动态显示菜单\用树型列表动态显示菜单\Form1.resx

............此处省略48个文件信息

评论

共有 条评论