c# - 有没有一种方法可以通过一个命令更改'n'标签的颜色?

标签 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


我只想使用一个命令来更改ForeColor。例如,不是Label1而是LabelX

最佳答案

您可以循环浏览所有类型为label的控件。
这应该可以解决问题。



'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


像Vincent建议的那样进行编辑,因此我们不需要在之前声明ctr。

正如Bug所建议的,这里是一个更短的选项:

For Each ctr In Me.Controls.OfType(Of Label)
    ctr.ForeColor = Color.Black
Next

关于c# - 有没有一种方法可以通过一个命令更改'n'标签的颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43317174/

相关文章:

c# - 从服务器 C# 上的特定数据库中检索表列表

c# - 是否可以在 Windows Azure 上指定时区?

c# - 是否有必要关闭/处置 SafeHandles

c# - 拦截MS Windows的 'SendTo'菜单调用?

JavaScript:使用 jQuery 获取值并替换它

c# - linq返回使用元组

regex - VB 网络正则表达式模式

vb.net - 确定哪个进程锁定了文件

html - 如何在切换 "text"输入时隐藏标签和 "radio"输入

c - 使用 Turbo C 3.0 在 C 中进行内联汇编 - 如何获取标签的地址