【问题标题】:How to check a subitem in ContextMenuStrip如何检查 ContextMenuStrip 中的子项
【发布时间】:2014-11-30 03:25:29
【问题描述】:
(cms.Items[6] as ToolStripMenuItem).DropDownItems.Add("Close program",null, new EventHandler(CloseProgram_Click));
(cms.Items[6] as ToolStripMenuItem).DropDownItems.Add("Show message", null, new EventHandler(ShowMessage_Click));
(cms.Items[6] as ToolStripMenuItem).DropDownItems.Add("-");
(cms.Items[6] as ToolStripMenuItem).DropDownItems.Add("Do nothing", null, new EventHandler(DoNothing_Click));

private void CloseProgram_Click(object sender, EventArgs e)
{
    // I want mark this menuItem on dropdownItem
}

当我选择 menuItem 时,我希望它被选中。

像这样。

【问题讨论】:

  • 请将图片上传到其他网站,并在评论中给我链接,我会为您上传到SO。

标签: c# checked contextmenustrip subitem


【解决方案1】:

将参数sender转换为ToolStripMenuItem,然后可以设置其Checked属性。

private void CloseProgram_Click(object sender, EventArgs e)
{
    // I want mark this menuItem on dropdownItem
    ToolStripMenuItem menuitem = sender as ToolStripMenuItem;
        if (menuitem != null)
            menuitem.Checked = true;
} 

你可以像这样获取每个菜单项的Checked状态

bool ischecked = (programToolStripMenuItem.DropDownItems[0] as ToolStripMenuItem).Checked;

传递正确的索引(例如 0),以获取您想要的菜单项。

【讨论】:

  • Tks,我怎样才能在其中添加“勾号”符号?
  • 我更新了我的答案以回应您上次(已删除)的评论。但是tick symbol 是什么意思?
  • ic,您需要自定义复选标记。但是在 WinForm 中自定义并不容易,除非控件有这样的属性,否则可能一些 3rd 第三方供应商,如DevExpress 提供这样的控件。帮不了你,也许你可以用这些关键字“winform menuitem custom check mark”搜索谷歌。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-02-16
  • 2011-08-17
  • 1970-01-01
  • 2011-08-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多