C#中关于ContextMenuStrip批量添加Item的问题
最近在开发项目时遇到,当cms1中只有一个item时,走以下逻辑不报错,当cms1中有多个item时,会出现以下报错:

经过测试发现,当cms1中一个item添加到cms2中后,cms1中会自动减少这个item,如下图:

报错的原因就找到了,即图1中,第一次进入循环后,i=0,cms1中索引0处的item被添加到了cms2中,cms1中剩余一个item,第二次进入循环后,i=1,cms1中索引1处没有item,引发报错。我们可以用下图的方式实现这个功能,即从后往前去添加:

