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,引发报错。我们可以用下图的方式实现这个功能,即从后往前去添加:

相关推荐
C^h6 小时前
c++ string
开发语言·c++
raindayinrain6 小时前
c++高性能--原子操作,无锁编程,操作顺序
开发语言·c++·性能优化
学逆向的6 小时前
C++ 合并命名空间
开发语言·c++·网络安全
Zhao-Jichao6 小时前
VS2026 打包 C++ 程序生成 EXE,借助 Installer Project 扩展工具
开发语言·c++
学逆向的7 小时前
C 局部静态变量
c语言·开发语言·网络安全
大都督会赢的7 小时前
C++第一节课
开发语言·c++
“AI国潮设计-小江”7 小时前
【AIGC实战】Python+Stable Diffusion打造“英歌舞财神”IP,解锁“马到成功”等爆款情绪营销文案设计
开发语言·人工智能·python·prompt·aigc
小王C语言8 小时前
Qt常用控件:容器类控件,标题分组框、标签页(浏览器标签)
开发语言·qt
我是唐青枫8 小时前
Kotlin Delegation 委托详解
开发语言·kotlin
qq_406981038 小时前
共享变量一 关于extern与const
开发语言·c++