Вы можете настроить простой рекурсивный метод, который анализирует все элементы управления в форме.
Если элемент управления в коллекции имеет тип Label
, установите свойство BackColor
.
Когда элемент управления содержит другие элементы управления, проанализируйте его коллекцию Controls
, чтобы увидеть, содержит ли он некоторые метки;когда он найден, установите его BackColor
.
Вызовите метод:
SetLabelsColor(Me, Color.AliceBlue)
Рекурсивный метод:
Private Sub SetLabelsColor(parent As Control, color As Color)
If (parent Is Nothing) OrElse (Not parent.HasChildren) Then Return
For Each ctl As Control In parent.Controls.OfType(Of Control)
If TypeOf ctl Is Label Then
ctl.BackColor = color
Else
If ctl.HasChildren Then
SetLabelsColor(ctl, color)
End If
End If
Next
End Sub
Если вы хотите изменить метки, которые находятся внутри панелей, а не других контейнеров, вы можете изменить условие, запускающее рекурсию:
If (TypeOf ctl Is Panel) AndAlso (ctl.HasChildren) Then
SetLabelsColor(ctl, color)
End If