的ContextMenuStrip项引用问题
-
20-09-2019 - |
题
我搜索过这里,并没有发现正是我所期待的。
我正在使用的ContextMenuStrip,内这有其为选中/未选中项一个菜单项。的结构是如下所示:
顶级:设置 中层:处理 底层:手动处理
我不能找到一种方法来访问底层项,将其设置为选中还是未选中。
任何人都可以请帮助?
解决方案
不知道我下面的问题。你知道“底级项目”的名称?如果是这样的只是通过名称来引用它:
bottomLevelMenuItem.Checked = true;
如果你不知道,你可以通过Items
或DropDownItems
循环(取决于菜单项型)控制集合来找到你想要的名称。
foreach (ToolStripMenuItem stripItemCollection in MenuStrip.Items)
{
...
}
修改强>
正确,的ToolStripItem 不有checked属性。这是许多工具条中的对象,其中一些不支持检查的基类。在这种情况下,你可能处理 ToolStripMenuItem S的做有一个检查属性。
尝试这种情况:
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
不隶属于 StackOverflow