public void CloseAll(MenuStrip MenuS)//1.关闭所有
{
try
{
for (int i = 0; i < MenuS.Items.Count; i++)
{
ToolStripMenuItem mu = (ToolStripMenuItem)MenuS.Items[i];//获取MenuS横向的主菜单
LockAllMenuAndMenuItem(mu);
}
}
catch (System.Exception ex)
{
MessageBox.Show(ex.Message, "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Information);
}
}
private void LockAllMenuAndMenuItem(ToolStripMenuItem mi)//子菜单无限级禁止
{
if (mi.DropDownItems.Count > 0)
{
for (int i = 0; i < mi.DropDownItems.Count; i++)
{
if (mi.DropDownItems[i].GetType().Name == "ToolStripSeparator")//分隔符"-"类型为ToolStripSeparator
{
}
else
{
mi.DropDownItems[i].Enabled = false;//处理
ToolStripMenuItem DropItem = (ToolStripMenuItem)mi.DropDownItems[i];//无限级循环
LockAllMenuAndMenuItem(DropItem);
}
}
}
else
{
}
}
private void UNLockAllMenuAndMenuItem(ToolStripMenuItem mi)//子菜单授权解锁
{
if (mi.DropDownItems.Count > 0)
{
for (int i = 0; i < mi.DropDownItems.Count; i++)
{
if (mi.DropDownItems[i].GetType().Name == "ToolStripSeparator")//分隔符"-"类型为ToolStripSeparator
{
mi.DropDownItems[i].Enabled = true;//处理
}
else
{
DataSet ds = Conn.getDataSet("select popname from userpop where username='" + username + "'", "tb_UserPope");//获取当前用户的权限信息
foreach (DataRow dr in ds.Tables[0].Rows)
{
if (dr[0].ToString().ToUpper().Trim() == mi.DropDownItems[i].Name.ToUpper() || mi.DropDownItems[i].Name.Contains("StripMenuItem"))
{
mi.DropDownItems[i].Enabled = true;//处理
ToolStripMenuItem DropItem = (ToolStripMenuItem)mi.DropDownItems[i];//无限级循环
UNLockAllMenuAndMenuItem(DropItem);
}
}
}
}
}
else
{
}
}
public void OpenAll(MenuStrip MenuS)//2.允许所有授权的
{
try
{
for (int i = 0; i < MenuS.Items.Count; i++)
{
ToolStripMenuItem mu = (ToolStripMenuItem)MenuS.Items[i];//获取MenuS横向的主菜单
UNLockAllMenuAndMenuItem(mu);//解锁授权
}
}
catch (System.Exception ex)
{
MessageBox.Show(ex.Message, "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Information);
}
}
08-07
1003