Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/262.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 清除Winforms GroupBox而不销毁内容_C#_Winforms_Ironpython_Groupbox - Fatal编程技术网

C# 清除Winforms GroupBox而不销毁内容

C# 清除Winforms GroupBox而不销毁内容,c#,winforms,ironpython,groupbox,C#,Winforms,Ironpython,Groupbox,我想清除GroupBox的内容以填充新选项,但我不能使用Dispose()函数,因为我不想破坏其中的对象(来自另一个类的文本框)。 有没有办法在不破坏内容的情况下清空GroupBox 编辑:因为很难理解我到底想要什么,下面是我试图做的(顺便说一句,这是IronPython,但这不应该是个问题) 如果我再次调用此函数,它将抛出异常,因为文本框不再存在 或者,您可以使用 或 或者使用For循环和Remove方法 For i As Integer = (groupBox.Controls.Count

我想清除GroupBox的内容以填充新选项,但我不能使用Dispose()函数,因为我不想破坏其中的对象(来自另一个类的文本框)。 有没有办法在不破坏内容的情况下清空GroupBox

编辑:因为很难理解我到底想要什么,下面是我试图做的(顺便说一句,这是IronPython,但这不应该是个问题)

如果我再次调用此函数,它将抛出异常,因为文本框不再存在

或者,您可以使用

或者使用For循环和Remove方法

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