Disposing Label 仅删除 Text WinForm

Disposing Label only removes Text WinForm

所以我在运行时创建了标签,但出于某种原因,当我处理它们时:

Content.Dispose();
Header.Dispose();

背景色仍然保留我连接到它的所有事件。此外,当从控件中手动删除它们时,它们仍然存在:

除此之外,我还尝试了对表单的所有 Update 方法,但除了短暂的“眨眼”之外没有任何变化。这让我发疯了几个小时。

您必须从表单的 Controls 集合中删除标签。

Content.SomeEvent -= Content_SomeEvent; // Unhook event handlers.
Controls.Remove(Content);
Content.Dispose();

Controls.Remove(Header);
Header.Dispose();

显然(根据评论)问题是标签创建了两次。