我正在处理的应用程序的一部分涉及动态 ToolStrip,其中根据应用程序的状态添加和删除项目。目前,我将这些项目存储在各种独立的 ToolStrips 中,并在必要时简单地添加和删除它们。我遇到的问题是这样的:
- 如果新的工具提示有一个项目并且我使用方法 AddRange,它将从新的工具条中删除,使其项目计数为 0。
- 如果新的工具条有多个项目并且我使用 AddRange,则会引发 ArgumentOutOfRange 错误。
ToolStripItemCollections 有什么我不知道是什么原因造成的,还是有更好的方法来进行编程?
编辑:快速示例代码
ToolStrip oldToolStrip = new ToolStrip();
ToolStrip newToolStrip = new ToolStrip();
newToolStrip.Items.Add(new ToolStripTextBox());
newToolStrip.Items.Add(new ToolStripButton());
oldToolStrip.Items.AddRange(newToolStrip.Items);