次の方法で共有


Control.HasControls メソッド

サーバー コントロールに子コントロールが含まれているかどうかを確認します。

名前空間: System.Web.UI
アセンブリ: System.Web (system.web.dll 内)

構文

'宣言
Public Overridable Function HasControls As Boolean
'使用
Dim instance As Control
Dim returnValue As Boolean

returnValue = instance.HasControls
public virtual bool HasControls ()
public:
virtual bool HasControls ()
public boolean HasControls ()
public function HasControls () : boolean
適用できません。

戻り値

コントロールに他のコントロールが格納されている場合は true。それ以外の場合は false

解説

このメソッドは、子コントロールが存在するかどうかを確認するだけであるため、Count プロパティの不必要な呼び出しを避けることによってパフォーマンスを向上させることができます。このプロパティを呼び出すには ControlCollection オブジェクトがインスタンス化されている必要があります。子がない場合、このオブジェクトの作成はサーバーのリソースを浪費します。

継承元へのメモ : HasControls メソッドは、EditorBrowsableAttribute などのメタデータ属性を変更する場合のみオーバーライドしてください。属性の使用方法については、「属性を使用したメタデータの拡張」を参照してください。

使用例

Count プロパティを使用して ControlCollection オブジェクトを反復する前に、HasControls メソッドを使用してコントロールが存在するかどうかを確認する例を次に示します。

If HasControls() Then
    Dim i As Integer
    For i = 0 To Controls.Count - 1
        Controls(i).RenderControl(writer)
    Next i
End If
if (HasControls()) {
                 for (int i=0; i < Controls.Count; i++) {
                     Controls[i].RenderControl(writer);
                 }
   }
if (HasControls()) {
    for (int i = 0; i < get_Controls().get_Count(); i++) {
        get_Controls().get_Item(i).RenderControl(writer);
    }
}
if (HasControls()) {
                 for (var i : int = 0; i < Controls.Count; i++) {
                     Controls[i].RenderControl(writer);
                 }
   }

プラットフォーム

Windows 98,Windows Server 2000 SP4,Windows CE,Windows Millennium Edition,Windows Mobile for Pocket PC,Windows Mobile for Smartphone,Windows Server 2003,Windows XP Media Center Edition,Windows XP Professional x64 Edition,Windows XP SP2,Windows XP Starter Edition

Microsoft .NET Framework 3.0 は Windows Vista,Microsoft Windows XP SP2,および Windows Server 2003 SP1 でサポートされています。

バージョン情報

.NET Framework

サポート対象 : 3.0,2.0,1.1,1.0

参照

関連項目

Control クラス
Control メンバ
System.Web.UI 名前空間
Controls
ControlCollection