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.