Control.HasControls メソッド


サーバー コントロールに子コントロールが含まれているかどうかを確認します。Determines if the server control contains any child controls.

 virtual bool HasControls();
public virtual bool HasControls ();
abstract member HasControls : unit -> bool
override this.HasControls : unit -> bool
Public Overridable Function HasControls () As Boolean



コントロールに他のコントロールが格納されている場合は true。それ以外の場合は falsetrue if the control contains other controls; otherwise, false.

次の例では、メソッドを使用し HasControls て、プロパティを使用して Count オブジェクトを反復処理する前に、コントロールが存在するかどうかを確認し ControlCollection ます。The following example uses the HasControls method to determine if any controls exist before using the Count property to iterate through a ControlCollection object.

if (HasControls()) {
                 for (int i=0; i < Controls.Count; i++) {
If HasControls() Then
    Dim i As Integer
    For i = 0 To Controls.Count - 1
    Next i
End If


このメソッドは、子コントロールが存在するかどうかを判断するだけであるため、不要なプロパティ呼び出しを回避できるようにすることで、パフォーマンスを向上させることができ Count ます。Since this method simply determines if any child controls exist, it can enhance performance by allowing you to avoid an unnecessary Count property call. このプロパティを呼び出すには、 ControlCollection オブジェクトをインスタンス化する必要があります。Calls to this property require a ControlCollection object to be instantiated. 子が存在しない場合、このオブジェクトの作成によってサーバーリソースが浪費されます。If there are no children, this object creation wastes server resources.

注意 (継承者)

メソッドは、 HasControls() などのメタデータ属性を変更するためにのみオーバーライドする必要があり EditorBrowsableAttribute ます。The HasControls() method should be overridden only to change metadata attributes such as EditorBrowsableAttribute. 属性の使用方法の詳細については、「属性」を参照してください。For more information about using attributes, see Attributes.