有没有办法用一个命令改变'n'标签的颜色?

Mas*_*N. 1 c# vb.net label

有没有办法用一个命令改变10个标签的颜色?

例如,而不是:

Label1.ForeColor = Color.Black
Label2.ForeColor = Color.Black
Label3.ForeColor = Color.Black
Label4.ForeColor = Color.Black
Label5.ForeColor = Color.Black
Label6.ForeColor = Color.Black
Label7.ForeColor = Color.Black
Run Code Online (Sandbox Code Playgroud)

我想只使用一个命令来改变ForeColor.例如,而不是Label1LabelX.

Med*_*ric 5

您可以循环遍历标签类型的所有控件.这应该可以解决问题.

'For each control in the form
For Each ctrl As Control In Me.Controls
    'If its of type label
    If TypeOf ctrl Is Label Then
        'Change the color
        ctrl.ForeColor = Color.Black
    End If
Next
Run Code Online (Sandbox Code Playgroud)

像Vincent一样编辑,所以我们之前不需要声明ctr.

正如Bugs在这里提出的是一个更短的选择:

For Each ctr In Me.Controls.OfType(Of Label)
    ctr.ForeColor = Color.Black
Next
Run Code Online (Sandbox Code Playgroud)