如何使contextmenustrip在二级菜单的某一项可见或不可见 
比如:一级菜单“查看” 
      二级菜单“大图标”、“小图标”、“列表” 
怎么设置可以使二级菜单的某一项不可见(因为在某些情况下,只会用到其中的一两项,而不是全部)设置一级菜单可不可见,只需设置contextmenustrip1.items[i].visible就可以了 
但是二级菜单呢?contextmenustrip1.??
 
请各位大虾指点一下迷津

解决方案 »

  1.   

    contextmenustrip1.items[i] 转换Item 为ToolStripMenuItem T = (ToolStripMenuItem)menuStrip1.Items[0]; 然后可以使用属性 T.DropDownItems[0].Visible =false;
    再下一级也一样
      

  2.   

    通过这种方式获取二级菜单
    ContextMenuStrip.Items[0].DropDownItems[0] 
    下面的代码,隐藏了每一组二级菜单中的第一个public FormListView()
            {
                InitializeComponent();
                this.ContextMenuStrip = contextMenuStrip3;
                contextMenuStrip3.Opening += new CancelEventHandler(contextMenuStrip3_Opening);
                
            }        void contextMenuStrip3_Opening(object sender, CancelEventArgs e)
            {
                ContextMenuStrip menu = sender as ContextMenuStrip;
                foreach (ToolStripMenuItem mi in menu.Items)
                {
                    //是否存在子菜单
                    if(mi.HasDropDownItems)
                        //隐藏第一个子菜单
                        mi.DropDownItems[0].Visible = false;
                }
            }
      

  3.   

    2级菜单一般变灰就OK,不必让他不见。D