MenuAction类详解 - Winform开发框架
MenuAction类详解 - Winform开发框架
一、作用
设置菜单的权限值。
CSFrameworkV2.x~5.x
给菜单对象的Tag属性分配此对象类型实例。
C# 全选
menuXXX.Tag=new MenuItemTag();
CSFramework.Mini
定义功能菜单权限。
C# 全选
list.Add(new MenuAction(ModuleFuns.商户资料, ModuleNames.基础资料, AuthorityCategory.MASTER_ACTION));
二、MenuAction类
C# 全选
/// <summary>
/// 设置菜单的权限值。
/// 给菜单对象的Tag属性分配此对象类型实例,menuXXX.Tag=new MenuItemTag();
/// </summary>
public class MenuAction
{
private MenuType _type;
private int _moduleID;
private int _FormAuthorities;
private String _MenuName;
private String _MenuCaption;
public MenuAction(ModuleFuns menuName, ModuleNames moduleID, int formAuthorities) :
this(menuName, menuName.ToString(), moduleID, formAuthorities)
{
//
}
public MenuAction(ModuleFuns menuName, string caption, ModuleNames moduleID, int formAuthorities)
{
_type = MenuType.DataForm;
_moduleID = (int)moduleID;
_FormAuthorities = formAuthorities;
_ActionNames = new Hashtable();
_MenuName = menuName.ToString();
_MenuCaption = caption;
}
/// <summary>
/// 构造器
/// </summary>
/// <param name="type">菜单类型</param>
/// <param name="moduleID">模块编号</param>
/// <param name="formAuthorities">窗体的可用权限</param>
public MenuAction(string menuName, string caption, MenuType type, ModuleNames moduleID, int formAuthorities)
{
_type = type;
_moduleID = (int)moduleID;
_FormAuthorities = formAuthorities;
_ActionNames = new Hashtable();
_MenuName = menuName;
_MenuCaption = caption;
}
private Hashtable _ActionNames = null;
/// <summary>
/// 当前菜单功能按钮的自定义名称(支持多个自定义名称), 扩展按钮使用
/// </summary>
public Hashtable ActionNames
{
get { return _ActionNames; }
}
/// <summary>
/// 菜单名称
/// </summary>
public String MenuName { get { return _MenuName; } }
/// <summary>
/// 菜单标题
/// </summary>
public String MenuCaption { get { return _MenuCaption; } }
/// <summary>
/// 设置功能菜单的功能按钮权限名称, 扩展按钮使用
/// </summary>
/// <param name="action">功能按钮编号</param>
/// <param name="actionName">自定义名称</param>
public void SetActionName(int action, string actionName)
{
if (_ActionNames.ContainsKey(action))
_ActionNames[action] = actionName;
else
_ActionNames.Add(action, actionName);
}
/// <summary>
/// 添加扩展权限
/// </summary>
/// <param name="action">权限值</param>
/// <param name="actionName">功能名称</param>
public void Extend(int action, string actionName)
{
if ((action & _FormAuthorities) == action)
throw new Exception($"重复权限值:{action}");
_FormAuthorities = _FormAuthorities + action;
SetActionName(action, actionName);
}
/// <summary>
/// 菜单类型
/// </summary>
public MenuType MenuType { get { return _type; } }
/// <summary>
/// 模块编号
/// </summary>
public int ModuleID { get { return _moduleID; } }
/// <summary>
/// 窗体的可用权限
/// </summary>
public int FormAuthorities { get { return _FormAuthorities; } }
}
版权声明:本文为开发框架文库发布内容,转载请附上原文出处连接
NewDoc C/S框架网