在WinForms中从MenuStrip和DropDownItems添加和删除ToolStripMenuItem

时间:2010-10-28 10:12:38

标签: c# winforms menuitem

我有MenuStrip个静态项目。致MenuStrip我以编程方式添加项目。其中一些项目具有子项目(DropDownItems)。

在某些时候,我想删除所有添加的项目,以重新创建包含不同项目的菜单。怎么做对了?

示例情况:

mainMenu
 -staticItem1
 -added1
  -added1_sub1
  -added1_sub2
 -added2
  -added2_sub1

我能做到:

added1.Dispose();
mainMenu.Items.Remove(added2);

这两项都有效,但我不确定它是否安全。也许我应该递归地删除和处理所有项目和子项目?

1 个答案:

答案 0 :(得分:3)

  • 仅使用Remove方法,这已足够
  • 您不需要递归,当您删除父项时,其所有子项都将被删除
  • 使用Items.Clear()删除菜单中的所有子项 DropDownItems.Clear()删除项目的所有子项。