C# 清除Winforms GroupBox而不销毁内容
我想清除GroupBox的内容以填充新选项,但我不能使用Dispose()函数,因为我不想破坏其中的对象(来自另一个类的文本框)。 有没有办法在不破坏内容的情况下清空GroupBox 编辑:因为很难理解我到底想要什么,下面是我试图做的(顺便说一句,这是IronPython,但这不应该是个问题) 如果我再次调用此函数,它将抛出异常,因为文本框不再存在 或者,您可以使用 或 或者使用For循环和Remove方法C# 清除Winforms GroupBox而不销毁内容,c#,winforms,ironpython,groupbox,C#,Winforms,Ironpython,Groupbox,我想清除GroupBox的内容以填充新选项,但我不能使用Dispose()函数,因为我不想破坏其中的对象(来自另一个类的文本框)。 有没有办法在不破坏内容的情况下清空GroupBox 编辑:因为很难理解我到底想要什么,下面是我试图做的(顺便说一句,这是IronPython,但这不应该是个问题) 如果我再次调用此函数,它将抛出异常,因为文本框不再存在 或者,您可以使用 或 或者使用For循环和Remove方法 For i As Integer = (groupBox.Controls.Count
For i As Integer = (groupBox.Controls.Count - 1) To 0 Step -1
Dim ctrl As Control = groupBox.Controls(i)
groupBox.Controls.Remove(ctrl)
ctrl.Dispose()
Next i
您只需选择设计中的groupbox内容并将其从gb中移出,然后您就可以安全地将其删除,并根据需要将内容移回。空是什么意思?如果不删除内容?我希望Groupbox为空,但不销毁引用的内容或仅销毁Groupbox.Controls.Clear();很好,菲尔,这应该是一个更好的答案。
foreach(Control c in groupBox.Controls()) groupBox.Controls.Remove(c);
groupBox.Controls.Clear()
While groupBox.Controls.Count > 0
groupBox.Controls.RemoveAt(0)
End While
For i As Integer = (groupBox.Controls.Count - 1) To 0 Step -1
Dim ctrl As Control = groupBox.Controls(i)
groupBox.Controls.Remove(ctrl)
ctrl.Dispose()
Next i