2015-04-28 99 views

回答

2

很显然,在下拉菜单中至少有一个工具条分隔符。当foreach循环尝试将ToolStripSeparator转换为ToolStripMenuItem时,您会得到一个异常,因为分隔符不是菜单项的子类。您可以使用LINQ OfType方法得到的只有某种类型的物品:

foreach (var menuItem in tsDDLEntry.DropDownItems.OfType<ToolStripMenuItem>()) 

或者你也可以手动检查每个项目:

foreach (object item in tsDDLEntry.DropDownItems) 
{ 
    ToolStripMenuItem menuItem = item as ToolStripMenuItem; 
    if (menuItem == null) 
     continue; 

    // ... 
} 
相关问题