Lea*_*ner 2 c# menustrip toolstripdropdown toolstripmenu
我已将menuStrip1项的可见属性设置为false
foreach (ToolStripMenuItem itm in menuStrip1.Items)
{
itm.Visible = false;
}
Run Code Online (Sandbox Code Playgroud)
现在我知道toolStripMenuItem and dropDownItem
了menustrip1的名字.如何激活所需的toolStripMenuItem and dropDownItem
.
我有
string mnItm = "SalesToolStripMenuItem";
string ddItm = "invoiceToolStripMenuItem";
Run Code Online (Sandbox Code Playgroud)
现在我想将这两个(toolStripMenuItem and dropDownItem
)项设置为true .我怎样才能做到这一点?我只知道那些名字.
只需使用这些名称来获取实际的item
via MenuStrip.Items
索引器:
ToolStripMenuItem menuItem = menuStrip1.Items[mnItm] as ToolStripMenuItem;
ToolStripDropDownMenu ddItem = menuStrip1.Items[ddItm] as ToolStripDropDownMenu;
Run Code Online (Sandbox Code Playgroud)
您正在寻找ToolStripItemCollection.Find方法。
var items = menustrip.Items.Find("SalesToolStripMenuItem", true);
foreach(var item in items)
{
item.Visible = false;
}
Run Code Online (Sandbox Code Playgroud)
第二个参数表示是否搜索孩子的。
您可以使用
menuStrip1.Items[mnItm].Visible = true;
menuStrip1.Items[ddItm].Visible = true;
Run Code Online (Sandbox Code Playgroud)
或者如果您想将 Visible 设置为多个工具条项目:
string [] visibleItems = new [] {"SalesToolStripMenuItem", "invoiceToolStripMenuItem"};
foreach (ToolStripMenuItem item in menuStrip1.Items)
{
if (visibleItems.Contains(item.Name))
{
item.Visible = false;
}
}
Run Code Online (Sandbox Code Playgroud)
希望能帮助到你