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

相关推荐
踏着七彩祥云的小丑6 小时前
pytest——Mark标记
开发语言·python·pytest
Dream of maid6 小时前
Python12(网络编程)
开发语言·网络·php
xiaoshuaishuai86 小时前
C# 接入 OpenClaw
windows·visualstudio·c#
W23035765737 小时前
经典算法:最长上升子序列(LIS)深度解析 C++ 实现
开发语言·c++·算法
Y4090017 小时前
【多线程】线程安全(1)
java·开发语言·jvm
不爱吃炸鸡柳7 小时前
Python入门第一课:零基础认识Python + 环境搭建 + 基础语法精讲
开发语言·python
minji...7 小时前
Linux 线程同步与互斥(三) 生产者消费者模型,基于阻塞队列的生产者消费者模型的代码实现
linux·运维·服务器·开发语言·网络·c++·算法
Dxy12393102168 小时前
Python基于BERT的上下文纠错详解
开发语言·python·bert
wjs20249 小时前
JavaScript 语句
开发语言