Control.HasChildren Control.HasChildren Control.HasChildren Control.HasChildren Property

Definizione

Ottiene un valore che indica se il controllo contiene uno o più controlli figlio.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; }
member this.HasChildren : bool
Public ReadOnly Property HasChildren As Boolean

Valore della proprietà

true se il controllo contiene uno o più controlli figlio; in caso contrario, false.true if the control contains one or more child controls; otherwise, false.

Esempi

I seguente esempio di codice impostare il BackColor e ForeColor dei controlli con i colori di sistema predefinito.The following code example sets the BackColor and ForeColor of the controls to the default system colors. In modo ricorsivo il codice chiama se stessa se il controllo dispone di tutti i controlli figlio.The code recursively calls itself if the control has any child controls. Questo esempio di codice è necessario disporre una Form con almeno un controllo figlio; tuttavia, un controllo contenitore figlio, ad esempio un Panel o GroupBox, con il proprio elemento figlio di controlli meglio dimostrare la ricorsione.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

Commenti

Se il Controls raccolta ha un Count maggiore di zero, il HasChildren proprietà restituirà true.If the Controls collection has a Count greater than zero, the HasChildren property will return true. L'accesso di HasChildren proprietà non forza la creazione di un Control.ControlCollection se il controllo non dispone di nessun elemento figlio, in modo che fanno riferimento a questa proprietà può offrire un miglioramento delle prestazioni quando si esamina un albero dei controlli.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.

Si applica a

Vedi anche