我遇到了Menu
的问题。我在MenuItem
中添加asp.net
。我正在使用c#
。我想在用户的许可下禁用菜单父母和子女。
有3个用户是“用户”,“高级用户”和“BT_用户”。 “用户”拥有最差权限,“BT_User”拥有最佳权限。
我该怎么做?谁能回答我?
答案 0 :(得分:4)
从这里实现你的逻辑..
if(UserType == "Power-User")
{
MenuItem mnuItem = Menu1.FindItem("MenuOption"); // If delete a specific item
//to remove
Menu1.Items.Remove(mnuItem);
//to disable and not remove
mnuItem.Enabled = false;
}
if (UserType == "BT_User")
{
Your other logic
}
答案 1 :(得分:1)
试试这个
if (UserType == "Power-User")
{
Menu1.Items.Find("MenuToDelete1", true)[0].Enabled = false;
Menu1.Items.Find("MenuToDelete2", true)[0].Enabled = false;
//or
Menu1.Items.Remove(Menu1.FindItem("MenuToDelete"));
Menu1.Items.Remove(Menu1.FindItem("MenuToDelete2"));
}
if (UserType == "BT_User")
{
Menu1.Items.Find("DeletedItem1", true)[0].Enabled = true;
Menu1.Items.Find("DeletedItem2", true)[0].Enabled = true;
MenuItem item1 = new MenuItem();
item.Text = "DeletedItem1";
MenuItem item2 = new MenuItem();
item.Text = "DeletedItem2";
//or
menuStrip1.Items.Insert(index1, item1);
menuStrip1.Items.Insert(index2, item2);
}
答案 2 :(得分:0)
只需利用Enabled
的{{1}}属性即可。没有足够的信息告诉你如何围绕它构建逻辑,但当你想要禁用时,只需这样做:
MenuItem
这里需要注意的一点是,当您禁用父级时,您不需要继续禁用任何子级,因为menuItem.Enabled = false;
设置为Enabled
时,不允许任何子级飞出
来自false
属性的MSDN documentation:
获取或设置一个值,该值指示是否启用了MenuItem对象,允许该项显示弹出图像和任何子菜单项。