这是问题所在: 我添加了很多按钮,图片框,文本框和其他控件,如下所示:
btnStart = new Button();
bla bla bla text text text ...
我一直在增加更多。所以,我了解到我可以逐个删除它们:
Controls.Remove(btnStart);
但我真正想知道的是,如果有一种方法可以立即删除所有这些内容,而不是在我想要删除它们时指定其中的每一个。基本上我想创建新的:
private void ClrScr() { //Help??? }
一旦从此表单中调用,将删除所有控件(一切都以一种形式完成)。 任何人都可以帮忙吗?我还是很陌生。
答案 0 :(得分:3)
Controls.Clear( )
应该这样做。
编辑:
如下所述 - Controls.Clear( )
可能导致内存泄漏。看看这个答案:How to Clear() controls without causing a memory leak
答案 1 :(得分:1)
如果要删除主窗体的所有子控件,请使用Controls.Clear()
如果您有一些不想删除的固定控件,请将动态生成的控件添加到Panel。然后,您可以致电mypanel.Controls.Clear()
以仅删除这些控件。
编辑:似乎Controls.Clear会导致内存泄漏,因此您可以使用Hans Passant的this answer。