Control.HasChildren Propriété

Définition

Obtient une valeur indiquant si le contrôle contient un ou plusieurs contrôles enfants.Gets a value indicating whether the control contains one or more child controls.

public:
 property bool HasChildren { bool get(); };
[System.ComponentModel.Browsable(false)]
public bool HasChildren { get; }
[<System.ComponentModel.Browsable(false)>]
member this.HasChildren : bool
Public ReadOnly Property HasChildren As Boolean

Valeur de propriété

Boolean

true si le contrôle contient un ou plusieurs contrôles enfants ; sinon, false.true if the control contains one or more child controls; otherwise, false.

Attributs

Exemples

L’exemple de code suivant affecte BackColor les ForeColor couleurs système par défaut à et des contrôles.The following code example sets the BackColor and ForeColor of the controls to the default system colors. Le code s’appelle de manière récursive si le contrôle a des contrôles enfants.The code recursively calls itself if the control has any child controls. Cet exemple de code nécessite que vous disposiez d’un Form avec au moins un contrôle enfant ; toutefois, un contrôle conteneur enfant, tel qu’un Panel ou GroupBox , avec ses propres contrôles enfants, illustre mieux la récursivité.This code example requires that you have a Form with at least one child control; however, a child container control, like a Panel or GroupBox, with its own child control(s) would better demonstrate the recursion.

   // 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.
         IEnumerator^ myEnum = control->Controls->GetEnumerator();
         while ( myEnum->MoveNext() )
         {
            Control^ childControl = safe_cast<Control^>(myEnum->Current);
            ResetAllControlsBackColor( childControl );
         }
      }
   }
// 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);
      }
   }
}
' Reset all the controls to the user's default Control color. 
Private Sub ResetAllControlsBackColor(control As Control)
   control.BackColor = SystemColors.Control
   control.ForeColor = SystemColors.ControlText
   If control.HasChildren Then
      ' Recursively call this method for each child control.
      Dim childControl As Control
      For Each childControl In  control.Controls
         ResetAllControlsBackColor(childControl)
      Next childControl
   End If
End Sub

Remarques

Si la Controls collection a une valeur Count supérieure à zéro, la HasChildren propriété retourne la valeur true .If the Controls collection has a Count greater than zero, the HasChildren property will return true. L’accès à la HasChildren propriété ne force pas la création d’un Control.ControlCollection si le contrôle n’a pas d’enfants, donc la référence à cette propriété peut fournir un avantage en matière de performances lors du parcours d’une arborescence de contrôles.Accessing the HasChildren property does not force the creation of a Control.ControlCollection if the control has no children, so referencing this property can provide a performance benefit when walking a tree of controls.

S’applique à

Voir aussi