代码之家  ›  专栏  ›  技术社区  ›  pradeepradyumna

如果选择了任何项目,C#contextmenustrip不会显示任何指示

  •  0
  • pradeepradyumna  · 技术社区  · 7 年前

    我在listview上添加了一个上下文菜单条“视图”,其中包含一些菜单项,如大图标/小图标/平铺。

    有人能告诉我,我如何在我的快捷菜单中得到类似的点/项目符号吗?

    1 回复  |  直到 7 年前
        1
  •  0
  •   pradeepradyumna    7 年前

    我找不到一种方法来获取像Windows File Explored的视图选项那样的项目符号/点,但我使用了下面的逻辑并使用选中状态来指示所做的选择。

     private void toolStripViewOptions_Click(object sender, EventArgs e)
     {
                ToolStripMenuItem selectedOption = sender as ToolStripMenuItem;
    
                SetIndicationForSelectedOption(selectedOption);
     }
    
    
    
    private void SetIndicationForSelectedOption(ToolStripMenuItem selectedMenuItem)
    {
                ToolStripItemCollection menuItems = (contextMenuStrip.Items[(Int32)toolStripView.Tag] as ToolStripMenuItem).DropDownItems;
    
                // Set checked state for only the selected view option and disable same for others.
                foreach (ToolStripMenuItem item in menuItems)
                {
                    if (selectedMenuItem == item)
                        selectedMenuItem.Checked = true;
                    else
                        item.Checked = false;
                }
     }