Control.HasChildren Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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
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.