C # - ContextMenuStrip странное поведение - PullRequest
1 голос
/ 01 июля 2011

У меня есть следующий код:

  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 голосов
/ 01 июля 2011

Пункт меню может иметь только одного родителя одновременно. Ваш цикл foreach просто перемещает элементы из cm1 в cm2.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...