C#winform菜单权限分配,与菜单同步的treeView树状菜单权限控制使用心得

在网上查了很多,发现没有讲述关于--C#winform菜单权限分配,与菜单同步的treeView树状菜单权限控制使用--的资料

自己研究了一个使用方法。下面来看看。

我有两个窗体:LOGINFRM,MAINFRM.

首先,说明一点,我的菜单项是通过程序控制动态自动添加到树形控件菜单项的。

第一步,在主窗体MAINFRM中,添加公共变量

        public string username="";//用户名
        public string useLOA = "";//权限

        public int sa;
        //权限
        public int userLOA
        {
            get { return sa; }
            set { sa = value; }
        }

第二步,在登录窗体中,

            UserName = txtUserName.Text.Trim();//获取用户名
            PassWrd = txtPasWrd.Text.Trim();//获取密码
            LOA1 = comboBox1.Text;//获取combox1的选项:用户身份获取
            

           。。。。

                     Form_Main HomePage = new Form_Main();
                     if (LOA1 == "管理员")//传递权限
                     {
                         HomePage.userLOA = 1;
                     }
                     else//普通用户
                     {
                         HomePage.userLOA = 2;
                     }
                     HomePage.username = UserName; //传递用户名 ,用于状态栏显示 
                     HomePage.useLOA = LOA1;//传递权限,用于状态栏显示
                     this.Hide();//隐藏登录窗口
                     //HomePage.StartPosition = FormStartPosition.CenterScreen;//屏幕中央显示窗体
                     HomePage.Show();//显示主窗口

第三部  在加载主窗体事件中添加

private void Form_Main_Load(object sender, EventArgs e)//窗体加载事件
        {
            GetMenu(treeView1,menuStrip1);//菜单项添加到树形控件
            
            //MessageBox.Show(userLOA.ToString());//TEST-OK

            if (userLOA == 2)//权限限制
            {
                Excel导入.Enabled = false;
                Excel导出.Enabled = false;
                添加用户.Enabled = false;
                修改密码.Enabled = false;
                删除用户.Enabled = false;
            }
            toolStripStatusLabel2.Text = "当前用户:"+username+",  权限:"+useLOA+"";//状态栏显示用户名和权限
        }

第四步,树形菜单权限控制

 

 

 

  1  //TreeView树状菜单和ToolMenuStrip菜单调用的是相同的窗体,下面通过判断
  2 
  3             //ToolMenuStrip菜单项的状态来决定是否打开对应窗体,经过实践证明,下面的方法是有效的。做到了
  4             //TreeView树状菜单权限控制
  5 
  6    
  7                
  8              //水文信息添加
  9                 if (FrmName == "Excel导入")
 10                 {
 11                     //根据菜单状态控制树型菜单项的状态
 12 
 13                     if (Excel导入.Enabled == false)
 14                     {
 15                         MessageBox.Show("当前用户无权使用该功能!");
 16                        
 17                     }
 18                     else
 19                     {
 20                         添加frm tianjiafrm = new 添加frm();
 21                         tianjiafrm.StartPosition = FormStartPosition.CenterParent;
 22                         tianjiafrm.ShowDialog();
 23                         tianjiafrm.Dispose();//模态对话框显示
 24                     }
 25 
 26 
 27                    
 28                 }
 29                 if (FrmName == "Excel导出")
 30                 {
 31                     if (Excel导出.Enabled==false)
 32                     {
 33                         MessageBox.Show("当前用户无权使用该功能!");
 34                     }
 35                     else
 36                     {
 37                         导出frm daochufrm = new 导出frm();
 38                         daochufrm.StartPosition = FormStartPosition.CenterParent;
 39                         daochufrm.ShowDialog();
 40                         daochufrm.Dispose();//模态对话框显示
 41                     }
 42 
 43 
 44                 }
 45 
 46               //系统管理
 47                 if (FrmName == "添加用户")
 48                 {
 49                     if (添加用户.Enabled==false)
 50                     {
 51                         MessageBox.Show("当前用户无权使用该功能!");
 52                     }
 53                     else
 54                     {
 55                         添加用户frm tianjiafrm = new 添加用户frm();
 56                         tianjiafrm.StartPosition = FormStartPosition.CenterParent;
 57                         tianjiafrm.ShowDialog();
 58                         tianjiafrm.Dispose();
 59                     }
 60                    
 61                 }
 62                 if (FrmName == "修改密码")
 63                 {
 64                     if (修改密码.Enabled==false)
 65                     {
 66                         MessageBox.Show("当前用户无权使用该功能!");
 67                     }
 68                     else
 69                     {
 70                         修改用户信息frm xiugaifrm = new 修改用户信息frm();
 71                         xiugaifrm.StartPosition = FormStartPosition.CenterParent;
 72                         xiugaifrm.ShowDialog();
 73                         xiugaifrm.Dispose();
 74                     }
 75 
 76                   
 77                 }
 78                 if (FrmName == "删除用户")
 79                 {
 80                     if (删除用户.Enabled==false)
 81                     {
 82                         MessageBox.Show("当前用户无权使用该功能!");
 83                     }
 84                     else
 85                     {
 86                         删除用户frm sanchufrm = new 删除用户frm();
 87                         sanchufrm.StartPosition = FormStartPosition.CenterParent;
 88                         sanchufrm.ShowDialog();
 89                         sanchufrm.Dispose();
 90 
 91                     }
 92 
 93                 }
 94                if (FrmName=="使用说明")
 95                {
 96 
 97                    使用说明frm usertip = new 使用说明frm();
 98                    usertip.StartPosition = FormStartPosition.CenterParent;
 99                    usertip.ShowDialog();
100                    usertip.Dispose();
101                }
102                if (FrmName=="关于")
103                {
104                    AboutBox1 aboutfrm = new AboutBox1();
105                    aboutfrm.StartPosition = FormStartPosition.CenterParent;
106                    aboutfrm.ShowDialog();
107                    aboutfrm.Dispose();
108 
109                }

 

 

posted @ 2014-04-16 18:02  雨花梦  阅读(2314)  评论(0编辑  收藏  举报