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

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

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

示例情况:

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

我可以:

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

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

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