我正在使用 MenuStrip
有两个主要ToolStripMenuItems
,其中每一个都有其“下拉菜单”,其中包含更多具有 CheckOnClick
的 ToolStripMenuItems属性设置为 true。
现在我正在尝试检索所选项目,我知道bool ToolStripMenuItem.Checked
存在,但如何使用循环获取 ToolStripMenuItems
来自每个主要ToolStripMenuItem
然后检查哪一个有 .Cheked is == true?
或者是否有更好的方法来检索选中的 ToolStripMenuItem
?
最佳答案
假设您正在使用 Linq,您可以执行以下操作:
private void button1_Click(object sender, EventArgs e)
{
foreach (var item in this.menuStrip1.Items.Cast<ToolStripMenuItem>())
{
GetCheckMenuItemText(item);
}
}
private void GetCheckMenuItemText(ToolStripMenuItem item)
{
if (item.HasDropDownItems)
{
foreach (var subItem in item.DropDownItems.Cast<ToolStripMenuItem>())
{
GetCheckMenuItemText(subItem);
}
}
else
{
if (item.CheckOnClick)
Debug.WriteLine(item.Text);
}
}
关于c# - 如何检查 ToolStripMenuItem?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5514939/