模块主窗体怎样控制自定义按钮的权限
![](http://www.csframework.com/images/article-type3.gif)
![模块主窗体怎样控制自定义按钮的权限 模块主窗体怎样控制自定义按钮的权限](http://www.csframework.com/images/seo/SEO-%E6%9D%83%E9%99%90%E7%B3%BB%E7%BB%9F%E8%AE%BE%E8%AE%A1.jpg)
模块主窗体控制自定义按钮的权限,若没有权限,按钮被禁用(灰色):
![贴图图片-模块主窗体权限](http://www.csframework.com/upload/image/模块主窗体权限.png)
解决方案:
打开模块主窗体的源码,如:frmModuleMain.cs
C# Code:
/// <summary>
/// 设置模块主窗体容器中所有组件的使用权限(隐藏或禁用).
/// </summary>
/// <param name="securityInfo">主菜单对象</param>
public override void SetSecurity(object securityInfo)
{
//
//省略代码...
//
//其它按钮权限设置,模块主窗体控制自定义按钮的权限
btnDynamicReport.Enabled = this.HasPermission("menuDynamicReport1");
}
//来源:C/S框架网 | www.csframework.com | QQ:23404761
/// 设置模块主窗体容器中所有组件的使用权限(隐藏或禁用).
/// </summary>
/// <param name="securityInfo">主菜单对象</param>
public override void SetSecurity(object securityInfo)
{
//
//省略代码...
//
//其它按钮权限设置,模块主窗体控制自定义按钮的权限
btnDynamicReport.Enabled = this.HasPermission("menuDynamicReport1");
}
//来源:C/S框架网 | www.csframework.com | QQ:23404761
打开模块基类窗体frmBaseModule.cs,增加一个受保护的方法:
C# Code:
/// <summary>
/// 是否拥有菜单权限
/// </summary>
/// <param name="menuName">菜单名称</param>
/// <returns></returns>
protected bool HasPermission(string menuName)
{
return Loginer.CurrentUser.IsAdmin() || (this.GetModuleMenuByName(menuName) != null);
}
//来源:C/S框架网 | www.csframework.com | QQ:23404761
/// 是否拥有菜单权限
/// </summary>
/// <param name="menuName">菜单名称</param>
/// <returns></returns>
protected bool HasPermission(string menuName)
{
return Loginer.CurrentUser.IsAdmin() || (this.GetModuleMenuByName(menuName) != null);
}
//来源:C/S框架网 | www.csframework.com | QQ:23404761
![C/S框架网|原创精神.创造价值.打造精品](http://www.csframework.com/images/our03.gif)
扫一扫加作者微信
![C/S框架网作者微信](http://www.csframework.com/images/wechatcode.jpg)
![C/S框架网|原创作品.质量保障.竭诚为您服务](http://www.csframework.com/images/CS框架网提供高效优质服务.jpg)
版权声明:本文为开发框架文库发布内容,转载请附上原文出处连接
NewDoc C/S框架网