C# - ContextMenuStrip奇怪的行为

时间:2011-07-01 08:08:34

标签: c# contextmenu

我有以下代码:

  ContextMenuStrip cm1 = new ContextMenuStrip();
  ToolStripMenuItem item1 = new ToolStripMenuItem();
  ToolStripMenuItem item2 = new ToolStripMenuItem();
  cm1.Items.Add(item1);
  cm1.Items.Add(item2);
  ContextMenuStrip cm2 = new ContextMenuStrip();
  foreach(ToolStripMenuItem item in cm1.Items)
  {
    cm2.Items.Add(item);
  }

为什么cm2.Items.Add()会更改cm1.Items?它们是不同的(不同的哈希码)

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

菜单项一次只能有一个父项。您的foreach循环只是将项目从cm1移动到cm2