zoukankan      html  css  js  c++  java
  • 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                }
  • 相关阅读:
    IDEA 2020.1 使用eclipse快捷键
    IDEA 2020.1 配置自定义Maven
    Maven 下载、安装、设置国内镜像
    IDEA 2020.1 下载、安装、激活
    MySQL 5.5/5.7 zip版 下载、安装、卸载、报错
    JDK8 下载、安装、配置环境变量
    如何在虚拟机VM15中安装W10
    虚拟机的安装,VMware-workstation-full-15.5.1-15018445
    为什么要买云服务器
    输入子系统实现的按键驱动
  • 原文地址:https://www.cnblogs.com/yuhuameng/p/3669161.html
Copyright © 2011-2022 走看看