5

我对Menu. 我MenuItemasp.net. 我正在使用c#. 我想在用户许可的情况下禁用菜单父母和孩子。有 3 个用户,分别是“User”、“Power-User”和“BT_User”。“用户”的权限最差,“BT_User”的权限最好。

我怎样才能做到这一点?谁能回答我?

4

3 回答 3

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
      }
于 2013-06-20T14:55:58.357 回答
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);
            }
于 2013-06-20T15:15:18.923 回答
0

只需Enabled利用MenuItem. 没有足够的信息来告诉您如何围绕它构建逻辑,但是当您想禁用一个时,只需执行以下操作:

menuItem.Enabled = false;

这里要注意的一件事是,当您禁用父级时,您不需要继续禁用任何子级,因为Enabled设置为false它不会被允许飞出任何子级。

来自该属性的MSDN 文档Enabled

获取或设置一个值,该值指示是否启用 MenuItem 对象,从而允许项目显示弹出图像和任何子菜单项。

于 2013-06-20T14:56:58.940 回答