[align=left]如:现Winform窗体上有一 menuStrip菜单控件,
menuStrip内有:功能1、功能2、功能3、功能4、功能5......
如何同事设置 功能1、功能2、功能3、功能5 的visible为 false,唯有功能4的visible为true?
有什么好的方法?
(功能1--5默认visible属性为true)[/align]C#winform控件menuStrip
menuStrip内有:功能1、功能2、功能3、功能4、功能5......
如何同事设置 功能1、功能2、功能3、功能5 的visible为 false,唯有功能4的visible为true?
有什么好的方法?
(功能1--5默认visible属性为true)[/align]C#winform控件menuStrip
我写的有错错别字是:如何同时设置 功能1、功能2、功能3、功能5 的visible为 false,唯有功能4的visible为true?menuStrip内有:功能1、功能2、功能3、功能4、功能5......在功能A菜单中。
如何同时设置 操作1、操作2、操作3 在功能B菜单中.
如何同时设置功能A中的 功能1、功能2、功能3、功能5 的visible为 false,唯有功能4的visible为true?我说同时是说用一个循环!不是手动的一个一个的敲重复的代码.ok?
public void SetMenus()
{
ToolStripMenuItem mnuItem;
ToolStripMenuItem refMenuItem = new ToolStripMenuItem(); //初始设置所有菜单不可见
foreach (ToolStripMenuItem ctrl in mainMenu.Items)
{
ctrl.Visible = false;
foreach (object subItem in ctrl.DropDownItems)
{
if (subItem.GetType() == refMenuItem.GetType())
{
mnuItem = (ToolStripMenuItem)subItem;
mnuItem.Visible = false;
}
}
} //取得相应用户对应的菜单项权限
string sqlFunc = string.Format("select *** from *** ");
SqlDataAdapter adp = new SqlDataAdapter(sqlFunc, conn);
DataSet ds = new DataSet();
adp.Fill(ds); //设置菜单项的可见或可用性
foreach (DataRow dr in ds.Tables[0].Rows)
{
//遍历主菜单
foreach (ToolStripMenuItem ctrl in mainMenu.Items)
{
if (ctrl.Name.ToUpper().Trim() == dr[0].ToString().ToUpper().Trim())
{
ctrl.Visible = true;
ctrl.Enabled = true;
break;
} //遍历子菜单
foreach (object subItem in ctrl.DropDownItems)
{
if (subItem.GetType() == refMenuItem.GetType())
{
mnuItem = (ToolStripMenuItem)subItem;
if (mnuItem.Name.ToUpper().Trim() == dr[0].ToString().ToUpper().Trim())
{
mnuItem.Visible = true;
mnuItem.Enabled = true;
break;
}
}
}
}
}
}