gpt4 book ai didi

c# - 循环浏览菜单条中的子项

转载 作者:行者123 更新时间:2023-12-02 21:32:35 35 4
gpt4 key购买 nike

好吧,我已经尝试过this :

private IEnumerable<ToolStripMenuItem> GetItems(ToolStripMenuItem item)
{
foreach (ToolStripMenuItem dropDownItem in item.DropDownItems)
{
if (dropDownItem.HasDropDownItems)
{
foreach (ToolStripMenuItem subItem in GetItems(dropDownItem))
yield return subItem;
}
yield return dropDownItem;
}
}

private void button2_Click_1(object sender, EventArgs e)
{
List<ToolStripMenuItem> allItems = new List<ToolStripMenuItem>();
foreach (ToolStripMenuItem toolItem in menuStrip1.Items)
{
allItems.Add(toolItem);
MessageBox.Show(toolItem.Text);
allItems.AddRange(GetItems(toolItem));
}
}

但我只得到文件编辑查看

enter image description here

我需要访问Export(见图)及其subitem,例如,可能还需要更改Word的可见性。

注意:form 动态更改 menustrip 项目,这就是我需要循环遍历它们的原因。

最佳答案

根据您提供的详细信息,您可以使用 linq 作为

var exportMenu=allItems.FirstOrDefault(t=>t.Text=="Export");
if(exportMenu!=null)
{
foreach(ToolStripItem item in exportMenu.DropDownItems) // here i changed the var item to ToolStripItem
{
if(item.Text=="Word") // as you mentioned in the requirements
item.Visible=false; // or any variable that will set the visibility of the item
}
}

希望这对您有帮助

问候

关于c# - 循环浏览菜单条中的子项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22015050/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com