について問題がありましたMenu
。を追加MenuItem
しasp.net
ます。を使用してc#
います。ユーザーの許可を得てメニューの親子を無効にしたい。"User"、"Power-User"、"BT_User" の 3 つのユーザーがあります。「ユーザー」のパーミッションは最悪で、「BT_User」のパーミッションは最高です。
どうやってやるの?誰でも答えてくれますか?
について問題がありましたMenu
。を追加MenuItem
しasp.net
ます。を使用してc#
います。ユーザーの許可を得てメニューの親子を無効にしたい。"User"、"Power-User"、"BT_User" の 3 つのユーザーがあります。「ユーザー」のパーミッションは最悪で、「BT_User」のパーミッションは最高です。
どうやってやるの?誰でも答えてくれますか?
ここからロジックを実装します。
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
}
これを試して
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);
}
Enabled
のプロパティを活用するだけMenuItem
です。その周りにロジックを構築する方法を説明するのに十分な情報はありませんが、無効にしたい場合は次のようにします。
menuItem.Enabled = false;
Enabled
ここで注意すべきことの 1 つは、親を無効にするときに子を引き続き無効にする必要がないということですfalse
。
プロパティのMSDNドキュメントから:Enabled
MenuItem オブジェクトが有効になっているかどうかを示す値を取得または設定して、アイテムがポップアウト イメージと子メニュー アイテムを表示できるようにします。