#region 根据用户权限设置主窗体菜单
/// <summary>
/// 根据用户权限设置菜单是否可用.
/// </summary>
/// <param name="MenuS">MenuStrip控件</param>
/// <param name="UName">当前登录用户名</param>
public void MainPope(MenuStrip MenuS, String UName)
{
string Str = "";
string MenuName = "";
DataSet DSet = MyDataClass.getDataSet("select ID from tb_Login where Name='" + UName + "'", "tb_Login"); //获取当前登录用户的信息
string UID = Convert.ToString(DSet.Tables[0].Rows[0][0]); //获取当前用户编号
DSet = MyDataClass.getDataSet("select ID,PopeName,Pope from tb_UserPope where ID='" + UID + "'", "tb_UserPope"); //获取当前用户的权限信息
bool bo = false;
for (int k = 0; k < DSet.Tables[0].Rows.Count; k++) //遍历当前用户的权限名称
{
Str = Convert.ToString(DSet.Tables[0].Rows[k][1]); //获取权限名称
if (Convert.ToInt32(DSet.Tables[0].Rows[k][2]) == 1) //判断权限是否可用
bo = true;
else
bo = false;
for (int i = 0; i < MenuS.Items.Count; i++) //遍历菜单栏中的一级菜单项
{
ToolStripDropDownItem newmenu = (ToolStripDropDownItem)MenuS.Items[i]; //记录当前菜单项下的所有信息
if (newmenu.HasDropDownItems && newmenu.DropDownItems.Count > 0) //如果当前菜单项有子级菜单项
for (int j = 0; j < newmenu.DropDownItems.Count; j++) //遍历二级菜单项
{
MenuName = newmenu.DropDownItems[j].Name; //获取当前菜单项的名称
if (MenuName.IndexOf(Str) > -1) //如果包含权限名称
newmenu.DropDownItems[j].Enabled = bo; //根据权限设置可用状态
ToolStripDropDownItem newmenu2 = (ToolStripDropDownItem)newmenu.DropDownItems[j]; //记录当前菜单项的所有信息
if (newmenu2.HasDropDownItems && newmenu2.DropDownItems.Count > 0) //如果当前菜单项有子级菜单项
for (int p = 0; p < newmenu2.DropDownItems.Count; p++) //遍历三级菜单项
{
MenuName = newmenu2.DropDownItems[p].Name; //获取当前菜单项的名称
if (MenuName.IndexOf(Str) > -1) //如果包含权限名称
newmenu2.DropDownItems[p].Enabled = bo; //根据权限设置可用状态
}
}
}
}
}
#endregion
/// <summary>
/// 根据用户权限设置菜单是否可用.
/// </summary>
/// <param name="MenuS">MenuStrip控件</param>
/// <param name="UName">当前登录用户名</param>
public void MainPope(MenuStrip MenuS, String UName)
{
string Str = "";
string MenuName = "";
DataSet DSet = MyDataClass.getDataSet("select ID from tb_Login where Name='" + UName + "'", "tb_Login"); //获取当前登录用户的信息
string UID = Convert.ToString(DSet.Tables[0].Rows[0][0]); //获取当前用户编号
DSet = MyDataClass.getDataSet("select ID,PopeName,Pope from tb_UserPope where ID='" + UID + "'", "tb_UserPope"); //获取当前用户的权限信息
bool bo = false;
for (int k = 0; k < DSet.Tables[0].Rows.Count; k++) //遍历当前用户的权限名称
{
Str = Convert.ToString(DSet.Tables[0].Rows[k][1]); //获取权限名称
if (Convert.ToInt32(DSet.Tables[0].Rows[k][2]) == 1) //判断权限是否可用
bo = true;
else
bo = false;
for (int i = 0; i < MenuS.Items.Count; i++) //遍历菜单栏中的一级菜单项
{
ToolStripDropDownItem newmenu = (ToolStripDropDownItem)MenuS.Items[i]; //记录当前菜单项下的所有信息
if (newmenu.HasDropDownItems && newmenu.DropDownItems.Count > 0) //如果当前菜单项有子级菜单项
for (int j = 0; j < newmenu.DropDownItems.Count; j++) //遍历二级菜单项
{
MenuName = newmenu.DropDownItems[j].Name; //获取当前菜单项的名称
if (MenuName.IndexOf(Str) > -1) //如果包含权限名称
newmenu.DropDownItems[j].Enabled = bo; //根据权限设置可用状态
ToolStripDropDownItem newmenu2 = (ToolStripDropDownItem)newmenu.DropDownItems[j]; //记录当前菜单项的所有信息
if (newmenu2.HasDropDownItems && newmenu2.DropDownItems.Count > 0) //如果当前菜单项有子级菜单项
for (int p = 0; p < newmenu2.DropDownItems.Count; p++) //遍历三级菜单项
{
MenuName = newmenu2.DropDownItems[p].Name; //获取当前菜单项的名称
if (MenuName.IndexOf(Str) > -1) //如果包含权限名称
newmenu2.DropDownItems[p].Enabled = bo; //根据权限设置可用状态
}
}
}
}
}
#endregion