この記事は翻訳者によって翻訳されたものです。 記事の文章にポインターを重ねると、原文のテキストが表示されます。
訳文
原文
このトピックはまだ評価されていません - このトピックを評価する

Control.HasChildren プロパティ

コントロールに 1 つ以上の子コントロールが格納されているかどうかを示す値を取得します。

名前空間:  System.Windows.Forms
アセンブリ:  System.Windows.Forms (System.Windows.Forms.dll 内)
[BrowsableAttribute(false)]
public bool HasChildren { get; }

プロパティ値

型: System.Boolean
コントロールに 1 つ以上の子コントロールが格納されている場合は true。それ以外の場合は false

Controls コレクションの Count が 0 を超える場合、HasChildren プロパティは true を返します。 HasChildren プロパティにアクセスしても、コントロールに子がない場合は Control.ControlCollection が強制的に作成されることはないため、このプロパティを参照すると、コントロールのツリーを進むときのパフォーマンスを向上できます。

コントロールの BackColor および ForeColor を既定のシステム カラーに設定するコード例を次に示します。 コントロールに子コントロールがある場合、コードは再帰的に自分自身を呼び出します。 このコード例では、Form に少なくとも 1 つの子コントロールが存在している必要があります。ただし、Panel または GroupBox のような、独自の子コントロールがある子コンテナー コントロールの方が、再帰の例として適しています。


// Reset all the controls to the user's default Control color. 
private void ResetAllControlsBackColor(Control control)
{
   control.BackColor = SystemColors.Control;
   control.ForeColor = SystemColors.ControlText;
   if(control.HasChildren)
   {
      // Recursively call this method for each child control.
      foreach(Control childControl in control.Controls)
      {
         ResetAllControlsBackColor(childControl);
      }
   }
}


.NET Framework

サポート対象: 4、3.5、3.0、2.0、1.1、1.0

.NET Framework Client Profile

サポート対象: 4、3.5 SP1

Windows 7, Windows Vista SP1 以降, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core はサポート対象外), Windows Server 2008 R2 (SP1 以降で Server Core をサポート), Windows Server 2003 SP2

.NET Framework では、各プラットフォームのすべてのバージョンはサポートしていません。 サポートされているバージョンについては、「.NET Framework システム要件」を参照してください。
この情報は役に立ちましたか。
(残り 1500 文字)
コミュニティ コンテンツ 追加
注釈 FAQ