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

是否可以基于Treeview上的选择禁用上下文菜单项

  •  4
  • Developer  · 技术社区  · 14 年前

    根 |-&燃气轮机;some.txt文件(在运行时添加的文本文件) |->儿童1(儿童对儿童)

    我设计了一些新的和删除选项我的上下文菜单

    我需要的是,当我右键单击根,子或子,我想禁用删除选项

    2 回复  |  直到 14 年前
        1
  •  9
  •   Chris Taylor    14 年前

    对于ContextMenu,可以处理 ContextMenu.Popup

    Opening

    例如,如果您使用Menu item Tag属性来确定是否支持remove(这只是示例)。你可以这样做

    private void contextMenuStrip1_Opening(object sender, CancelEventArgs e)
    {
      if ((int)treeView1.SelectedNode.Tag == 1)
      {
        removeToolStripMenuItem.Enabled = true;
      }
      else
      {
        removeToolStripMenuItem.Enabled = false;
      }
    }
    
        2
  •  0
  •   nhahtdh Pankaj Wadhwa    12 年前
    // Remove all the Empty sub menu items
    int counter = MainMenu.Items[1].ChildItems.Count;
    for(int i=0; i<counter;i++)
    {
        foreach (MenuItem item in MainMenu.Items[1].ChildItems)
        {
            if (item.ChildItems.Count != 0)
                continue;
            MainMenu.Items[1].ChildItems.Remove(item);
            break;
        }
    }