C# 如何查找名为的toolstripmenuItem
我已将menuStrip1项的visible属性设置为false,如下所示C# 如何查找名为的toolstripmenuItem,c#,menustrip,toolstripdropdown,toolstripmenu,C#,Menustrip,Toolstripdropdown,Toolstripmenu,我已将menuStrip1项的visible属性设置为false,如下所示 foreach (ToolStripMenuItem itm in menuStrip1.Items) { itm.Visible = false; } 现在我知道了toolStripMenuItem和menustrip1的dropDownItem的名称。如何激活所需的toolStripMenuItem和dropDownItem 我有 string mnItm = "SalesToolStripMenuItem
foreach (ToolStripMenuItem itm in menuStrip1.Items)
{
itm.Visible = false;
}
现在我知道了toolStripMenuItem和menustrip1的dropDownItem的名称。如何激活所需的toolStripMenuItem和dropDownItem
我有
string mnItm = "SalesToolStripMenuItem";
string ddItm = "invoiceToolStripMenuItem";
现在我想为这两个(toolStripMenuItem和dropDownItem
)项设置visible true。我该怎么做?我只知道这些名称。如果我收到您的问题,您将尝试禁用除上述两个toolstrip项之外的其他项。因为您知道菜单项的名称,所以代码中的一点小小更改就可以让您顺利完成任务
foreach (ToolStripMenuItem itm in menuStrip1.Items)
{
if(itm.Text !="SalesToolStripMenuItem" || itm.Text !="invoiceToolStripMenuItem")
{
itm.Visible = false;
}
}
您应该尝试以下方法:
string strControlVal ="somecontrol"; //"SalesToolStripMenuItem" or "invoiceToolStripMenuItem" in your case
foreach (ToolStripMenuItem item in menuStrip1.Items)
{
if (strControlVal == item.Name)
{
item.Visible = false;
}
}
根据需要初始化strControlVal
字符串。只需使用这些名称,即可通过MenuStrip获取实际的项。项
索引器:
ToolStripMenuItem menuItem = menuStrip1.Items[mnItm] as ToolStripMenuItem;
ToolStripDropDownMenu ddItem = menuStrip1.Items[ddItm] as ToolStripDropDownMenu;
你在寻找方法
第二个参数表示是否搜索孩子。您可以使用
menuStrip1.Items[mnItm].Visible = true;
menuStrip1.Items[ddItm].Visible = true;
或者,如果要将多个toolstrip项设置为可见:
string [] visibleItems = new [] {"SalesToolStripMenuItem", "invoiceToolStripMenuItem"};
foreach (ToolStripMenuItem item in menuStrip1.Items)
{
if (visibleItems.Contains(item.Name))
{
item.Visible = false;
}
}
希望它对您的代码有帮助在您的代码中,只有一个strcontrolval
可以初始化为下一个。您必须重新分配againOP,如果他愿意,可以使用字符串数组。然后如何设置找到的项的可见性?您的答案不完整。@chocapiszforeach(项目中的变量项目)item.Visible=true代码>简洁明了!我喜欢这一行你刚刚帮我解决了一个我一直想解决的两天问题--需要添加“as ToolStripMenuItem”
private void ToolStripMenuItem_Click(object sender, EventArgs e)
{
string MenuItemName = sender.ToString()
}
private void ToolStripMenuItem_Click(object sender, EventArgs e)
{
string MenuItemName = sender.ToString()
}