この記事は翻訳者によって翻訳されたものです。 記事の文章にポインターを重ねると、原文のテキストが表示されます。 |
訳文
原文
|
Control.HasChildren プロパティ
.NET Framework 4
コントロールに 1 つ以上の子コントロールが格納されているかどうかを示す値を取得します。
アセンブリ: System.Windows.Forms (System.Windows.Forms.dll 内)
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); } } }
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 システム要件」を参照してください。