Control.ControlCollection.Clear メソッド


コレクションからすべてのコントロールを削除します。Removes all controls from the collection.

 virtual void Clear();
public virtual void Clear ();
abstract member Clear : unit -> unit
override this.Clear : unit -> unit
Public Overridable Sub Clear ()


次のコード例では、派生クラス PanelControl.ControlCollection に含まれるすべての Control オブジェクトを削除します。The following code example removes all the Control objects in the Control.ControlCollection of the derived class Panel. この例では、PanelButton、および Formに少なくとも1つのコントロールを作成しておく必要があります。The example requires that you have created a Panel, a Button, and at least one other control on a Form. その他のコントロールが Panel コントロールに追加され、PanelFormに追加されます。The other controls are added to the Panel control, and the Panel added to the Form. このボタンがクリックされると、パネルに含まれているすべてのコントロールが Control.ControlCollectionから削除されます。When the button is clicked, all the controls contained in the panel are removed from the Control.ControlCollection.

   // Clear all the controls in the Panel.
   void clearButton_Click( Object^ /*sender*/, System::EventArgs^ /*e*/ )
// Clear all the controls in the Panel.
private void clearButton_Click(object sender, System.EventArgs e)
' Clear all the controls in the Panel.
Private Sub ClearButton_Click(ByVal sender As System.Object, _
    ByVal e As System.EventArgs) Handles ClearButton.Click
End Sub


Clear メソッドを使用して、親コントロールからコントロールのコレクション全体を削除できます。You can use the Clear method to remove the entire collection of controls from a parent control.

コレクションから個々のコントロールを削除するには、Remove または RemoveAt メソッドを使用します。To remove an individual control from the collection, use the Remove or RemoveAt methods.


Clear メソッドを呼び出すと、メモリからコントロールハンドルが削除されません。Calling the Clear method does not remove control handles from memory. メモリリークを回避するには、Dispose メソッドを明示的に呼び出す必要があります。You must explicitly call the Dispose method to avoid memory leaks.

新しい Control オブジェクトをコレクションに追加するには、Add または AddRange メソッドを使用します。To add new Control objects to the collection, use the Add or AddRange methods.

注意 (継承者)

派生クラスで Clear() をオーバーライドする場合は、必ず、基本クラスの Clear() メソッドを呼び出して、すべてのコントロールがコレクションから確実に削除されるようにしてください。When overriding Clear() in a derived class, be sure to call the base class's Clear() method to ensure that all the controls are removed from the collection.