在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()
所有子项以删除项目的所有子项。
- System.Threading.Timer vs System.Threading.Thread.Sleep resolution – .NET Timer不使用系统时钟分辨率
- 在C#中通过AWS.NET从S3存储中检索二进制数据
- 为什么ASP.NET MVC 3exception被“处理”两次?
- C#Cookies基于登录信息
- 本土化。 扩展ASP.NET Resx资源提供程序
- DELETE语句与具有Entity Framework的SAME TABLE REFERENCE约束冲突
- masterpage initializeculture没有找到合适的方法来覆盖错误?
- 如何用C#和WebKit.NET捕获完整的网站截图?
- 如果仅在反映属性时构造属性,为什么属性构造函数如此受限?