2

这就是问题所在:我添加了很多按钮、图片框、文本框和其他控件,如下所示:

btnStart = new Button();bla bla bla 文本 文本 文本...

我一直在添加更多。所以,我了解到我可以一一删除它们:

Controls.Remove(btnStart);

但我确实想知道的是,如果有一种方法可以一次删除所有这些,而不是在我想删除它们时指定它们中的每一个。基本上我想创建新的:

private void ClrScr() { //Help??? }

一旦从此表单调用,它将删除所有控件(一切都以一种形式完成)。任何人都可以帮忙吗?我对此还是很陌生。

4

2 回答 2

3

Controls.Clear( )应该这样做。

编辑:

如下所述 -Controls.Clear( )可能导致内存泄漏。看看这个答案:如何在不导致内存泄漏的情况下清除()控件

于 2012-04-18T13:03:08.590 回答
1

如果要删除主窗体的所有子控件,只需使用Controls.Clear()

如果您有一些不想删除的固定控件,则将动态生成的控件添加到面板中。然后您可以调用mypanel.Controls.Clear()仅删除这些控件。

编辑:似乎 Controls.Clear 会导致内存泄漏,因此您可以使用Hans Passant 的这个答案

于 2012-04-18T13:03:12.443 回答