Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 如何更改表单中所有标签的前景色?_Vb.net_Winforms_Visual Studio 2010 - Fatal编程技术网

Vb.net 如何更改表单中所有标签的前景色?

Vb.net 如何更改表单中所有标签的前景色?,vb.net,winforms,visual-studio-2010,Vb.net,Winforms,Visual Studio 2010,我正在用VisualBasic.NET中的WinForms编写一个简单的schedule planner应用程序,我有一个“编辑首选项”,希望用户能够更改所有标签的颜色。我尝试使用以下代码: Public Sub darkMode(ByVal darkModeOn As Boolean) If darkModeOn Then For Each c As Control In Me.Controls If c IsNot lblTitle Then

我正在用VisualBasic.NET中的WinForms编写一个简单的schedule planner应用程序,我有一个“编辑首选项”,希望用户能够更改所有标签的颜色。我尝试使用以下代码:

Public Sub darkMode(ByVal darkModeOn As Boolean)
    If darkModeOn Then
        For Each c As Control In Me.Controls
            If c IsNot lblTitle Then
                If TypeOf c Is Label Then DirectCast(c, Label).ForeColor = Color.FromArgb(255, 255, 255)
            ElseIf TypeOf c Is Panel Then
                For Each pnlPanel As Panel In Me.Controls.OfType(Of Panel)()
                    pnlPanel.BackColor = Color.FromArgb(66, 66, 66)
                Next
            End If
        Next
End Sub

但是,当我运行该代码时,它只会更改
标签
前景色
,这些标签是表单的直接子项,并且这些更改不适用于
标签
在其他容器(如
面板
s)中。是否有任何方法可以更改所有
标签的
前景色
,即使那些不是
表单的直接子项

更改If-ElseIf可能会帮助您解决问题

For Each c As Control In Me.Controls
        If TypeOf c Is Panel Then
            For Each pnlPanel As Panel In Me.Controls.OfType(Of Panel)()
                pnlPanel.BackColor = Color.FromArgb(66, 66, 66)
            Next
        ElseIf c IsNot lblTitle Then
            If TypeOf c Is Label Then DirectCast(c, Label).ForeColor = Color.FromArgb(255, 255, 255)
        End If
    Next

谢谢D那太好了。