我搜索过这里,并没有发现正是我所期待的。

我正在使用的ContextMenuStrip,内这有其为选中/未选中项一个菜单项。的结构是如下所示:

顶级:设置 中层:处理 底层:手动处理

我不能找到一种方法来访问底层项,将其设置为选中还是未选中。

任何人都可以请帮助?

有帮助吗?

解决方案

不知道我下面的问题。你知道“底级项目”的名称?如果是这样的只是通过名称来引用它:

bottomLevelMenuItem.Checked = true;

如果你不知道,你可以通过ItemsDropDownItems循环(取决于菜单项型)控制集合来找到你想要的名称。

foreach (ToolStripMenuItem stripItemCollection in MenuStrip.Items)
{
    ...
}

修改

正确,的ToolStripItem 不有checked属性。这是许多工具条中的对象,其中一些不支持检查的基类。在这种情况下,你可能处理 ToolStripMenuItem S的做有一个检查属性。

尝试这种情况:

ToolStripMenuItem menuItem = this.cmuSystemTray.Items["TLSETTINGS"] as ToolStripMenuItem;
if (menuItem != null)
{
    menuItem.Checked = true;
}

虽然再次各ControlToolStripMenuItem)具有与其相关联,从而它会更容易使用原始变量,而不是通过上下文菜单条的Items属性去的名称。

TLSETTINGS.Checked = true; // Assuming TLSETTINGS is the name
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top