动态删除菜单项:Dispose调用Remove

本文关键字:调用 Remove Dispose 删除 菜单项 动态 | 更新日期: 2023-09-27 18:06:25

我的应用程序在运行时动态添加/删除菜单项。我的删除代码看起来像这样:

while (menu.DropDownItems.Count > 0) {
    menu.DropDownItems[0].Dispose();
}

这工作得很好,因为ToolStripItem。处置显示this.Owner.Items.Remove(this);(通过ILSpy验证)。

我的问题是:依赖ToolStripItem。"处置"也会从菜单中删除该项目?ToolStripItem的文档。Dispose没有提到这个事实。

动态删除菜单项:Dispose调用Remove

这实际上是Control类的默认行为,所以它比ToolStripItem更进一步。我也在我的代码中使用这个方法。