c#实现按用户角色分配菜单的使用权限(WinForm)

本文介绍了如何在C#的WinForm应用程序中,根据用户角色动态设置菜单项的使用权限。通过建立用户角色表、菜单表和角色菜单表,登录时遍历用户角色并初始化所有菜单为禁用状态,然后启用符合用户角色的菜单项。文章详细展示了初始化菜单、初始化子菜单以及根据角色设置菜单权限的代码实现。
摘要由CSDN通过智能技术生成

       前阵子接个WinForm应用的小程序,要求按用户的角色动态设置可以使用的菜单项(无权使用的灰色显示)。程序做完了,总结了一下解决问题的思路,拿到这里跟大家交流学习一下。

       要求:根据用户登录时的角色,来设置其可以使用的菜单项。

       我的思路:首先建立三个表:用户角色表 tb_role ( roid  roname )  roid - 角色id ,roname - 角色名称

                                                           菜单表 tb_menu ( id  fmuname  fmuid  menuname  menucap)  fmuname父菜单名,fmuid父菜单id,menuname菜单项的英文名称,menucap菜单项显示的中文名

                                                          角色菜单表 tb_rolemenu ( roleid  menuid )

                     当用户登录时,根据其用户角色遍历其能使用的菜单项,然后在程序主窗口中初始化所有菜单项(enable属性设置为false),再将能使用的菜单项的enable属性设置为true。

      实现:以上步骤中遍历用户角色及能使用的菜单项容易实现,关键在于菜单初始化(所有菜单及其子菜单项),设置能使用的菜单项和菜单初始化的方法类似。下面详细说明一下:

      

      在WinForm应用中,一级菜单为menuStrip,其子菜单项为ToolStripMenuItem,遍历子菜单项时需要进行对象

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值