Control.HasChildren Eigenschaft

Definition

Ruft einen Wert ab, der angibt, ob das Steuerelement ein oder mehrere untergeordnete Steuerelemente enthält.

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

Eigenschaftswert

Boolean

true, wenn das Steuerelement ein oder mehrere untergeordnete Steuerelemente enthält, andernfalls false.

Attribute

Beispiele

Im folgenden Codebeispiel werden die BackColor ForeColor Steuerelemente auf die Standardsystemfarben festgelegt. Der Code ruft sich rekursiv selbst auf, wenn das Steuerelement über untergeordnete Steuerelemente verfügt. In diesem Codebeispiel ist erforderlich, dass Sie mindestens ein untergeordnetes Steuerelement haben Form . Ein untergeordnetes Containersteuerelement wie ein Panel oder GroupBoxein untergeordnetes Steuerelement mit einem eigenen untergeordneten Steuerelement würde jedoch besser veranschaulichen.

   // 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

Hinweise

Wenn die Auflistung über eine Count größer als null verfügt, wird die Controls HasChildren Eigenschaft zurückgegebentrue. Der Zugriff auf die HasChildren Eigenschaft erzwingt die Erstellung eines Control.ControlCollection Steuerelements nicht, wenn das Steuerelement keine untergeordneten Elemente aufweist, sodass der Verweis auf diese Eigenschaft einen Leistungsvorteil beim Gehen einer Struktur von Steuerelementen bieten kann.

Gilt für

Siehe auch