【发布时间】:2009-12-17 08:00:50
【问题描述】:
我在这里搜索过,但没有找到我要找的东西。
我正在使用 ContextMenuStrip,其中有一个菜单项是选中/未选中项。结构如下:
顶级:设置 中层:处理 底层:人工处理
我找不到访问底层项目的方法,将其设置为选中或未选中。
有人可以帮忙吗?
【问题讨论】:
标签: c# checked contextmenustrip
我在这里搜索过,但没有找到我要找的东西。
我正在使用 ContextMenuStrip,其中有一个菜单项是选中/未选中项。结构如下:
顶级:设置 中层:处理 底层:人工处理
我找不到访问底层项目的方法,将其设置为选中或未选中。
有人可以帮忙吗?
【问题讨论】:
标签: c# checked contextmenustrip
不确定我是否在关注这个问题。你知道“底层物品”的名称吗?如果是这样,只需按名称引用它:
bottomLevelMenuItem.Checked = true;
如果您不知道名称,您可以遍历 Items 或 DropDownItems(取决于 MenuItem 类型)控件集合以找到您想要的名称。
foreach (ToolStripMenuItem stripItemCollection in MenuStrip.Items)
{
...
}
编辑:
正确,ToolStripItem 没有选中的属性。它是许多工具条对象的基类,其中一些不支持检查。在这种情况下,您可能正在处理具有已选中属性的ToolStripMenuItems。
试试这个:
ToolStripMenuItem menuItem = this.cmuSystemTray.Items["TLSETTINGS"] as ToolStripMenuItem;
if (menuItem != null)
{
menuItem.Checked = true;
}
同样,虽然每个 Control (ToolStripMenuItem) 都有一个与之关联的名称,因此使用原始变量比通过上下文菜单条的 Items 属性更容易。
TLSETTINGS.Checked = true; // Assuming TLSETTINGS is the name
【讨论】: