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

相关推荐
keyipatience9 小时前
线程栈与TLS和线程互斥
java·linux·服务器·开发语言·ubuntu
我的xiaodoujiao9 小时前
快速学习Python基础知识详细图文教程9--函数进阶
开发语言·python·学习·测试工具
爱喝水的鱼丶10 小时前
SAP-ABAP:ALV通用封装实践——搭建可复用的ALV开发工具类,减少80%重复代码
开发语言·性能优化·sap·abap·erp·alv
脱胎换骨-军哥10 小时前
C++/Rust无缝互操作:混合系统新常态
开发语言·c++·rust
songroom11 小时前
Kimi K3:Rust封装XTP接口详细教程实践
开发语言·后端·rust
kebeiovo11 小时前
游戏服务端开发:Actor模型详解(Go语言)
开发语言·后端·golang
迷途呀11 小时前
Python:函数中的参数类型
开发语言·笔记·python·langchain·nlp
Herbert_hwt11 小时前
建立Java程序开发
java·开发语言
愚公移码12 小时前
蓝凌EKP18产品:流程虚拟机(PVM)
java·开发语言·前端
十月的皮皮12 小时前
stm20260720-从新手 C 到量产 STM32 工程:程序设计推导指南
c语言·开发语言·stm32·stm32cubemx·hal库