Да. Поскольку каждый элемент menuItem является отдельным элементом управления, вы можете добавить один и тот же элемент menu в оба меню;
var joinedMenuItem = new System.Windows.Forms.ToolStripMenuItem();
menu1.Items.Add(joinedMenuItem );
menu2.Items.Add(joinedMenuItem );
Точно так же вы можете добавлять элементы из одного меню в другое меню;
menu1.Items.AddRange(menu2.Items);
Пора сказать, что:
ToolStripMenu это подпункты Items свойство.
ToolStripMenuItem Подэлементы находятся в DropDownItems свойстве.
Итак, если у вас есть два главных пункта меню (например, «Файл» и «Редактировать»), и вы хотите удалить общие подпункты:
foreach (var item in topMenuItem2.DropDownItems)
{
topMenuItem1.DropDownItems.Remove(item);
}
В реальной жизни, если кому-то нужна такая гибкая система меню, наиболее вероятным будет создание общего списка пунктов меню. А может быть подмножества пунктов меню по категориям. Затем можно добавить пункты меню из такого списка или наборов в отображаемое меню.
Например, вы можете предоставить пользователям возможность настраивать меню или создавать собственные разделы меню. Как это делается в Visual Studio.