无法将类型为“System.Windows.Forms.ToolStripSeparator”的对象强制转换为类型“System.Windows.Forms.ToolStripMenuItem”。  遍历二级菜单 中间有分割线就报这个错误 如何解决?

解决方案 »

  1.   

    你应该判断下if(xx is ToolStripMenuItem)
    {
     ToolStripMenuItem xx = x;
    }
      

  2.   

    要进行判断 if (item is ToolStripMenuItem)
      

  3.   

     foreach (ToolStripMenuItem item in menuStrip1.Items)
                {
                    MessageBox.Show(item.Text);
                    if (item is ToolStripMenuItem)
                    {
                        EnumerMenu(item);
                    }
                }
     private void EnumerMenu(ToolStripMenuItem item)
            {
                foreach (ToolStripMenuItem subItem in item.DropDownItems)
                {
                    MessageBox.Show(subItem.Text);
                    if (item is ToolStripMenuItem)
                    {
                        EnumerMenu(subItem);
                    }
                }
            }判断了 还是报错
      

  4.   

    本帖最后由 net_lover 于 2012-09-18 16:24:52 编辑