5

について問題がありましたMenu。を追加MenuItemasp.netます。を使用してc#います。ユーザーの許可を得てメニューの親子を無効にしたい。"User"、"Power-User"、"BT_User" の 3 つのユーザーがあります。「ユーザー」のパーミッションは最悪で、「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ここで注意すべきことの 1 つは、親を無効にするときに子を引き続き無効にする必要がないということですfalse

プロパティのMSDNドキュメントから:Enabled

MenuItem オブジェクトが有効になっているかどうかを示す値を取得または設定して、アイテムがポップアウト イメージと子メニュー アイテムを表示できるようにします。

于 2013-06-20T14:56:58.940 に答える