禁用框架后更改所有标签颜色

Changing all labels colour after disabling the frame

我需要一些帮助来将框架的标签颜色禁用后变为灰色。启用和禁用框架非常简单,但我正在研究如何获取属于该框架的所有标签并将颜色更改为灰色。我试图用各自的标签标记所有框架文本框,并在文本框级别上工作,但它只是不起作用。这是我的代码:

Private Sub cbxCSENetworkDeseign_Click()
Dim Tbox As MSForms.TextBox

    If cbxCSENetworkDeseign.Value = True Then  'Check box that will disable / enable the frame
        frmCustomerDetails.Enabled = False
        For Each Tbox In frmCustomerDetails.Controls
            Controls(Tbox.Tag).ForeColor = vbGrayText
        Next Tbox
    Else
        frmCustomerDetails.Enabled = True
        For Each Tbox In frmCustomerDetails.Controls
            Controls(Tbox.Tag).ForeColor = vbBlack
        Next Tbox
    End If   
End Sub

试试这个:

Private Sub cbxCSENetworkDeseign_Click()
Dim Tbox As Object   'MSForms.TextBox

    If cbxCSENetworkDeseign.Value = True Then  'Check box that will disable / enable the frame
        frmCustomerDetails.Enabled = False
        For Each Tbox In frmCustomerDetails.Controls
            Tbox.ForeColor = vbGrayText
        Next Tbox
    Else
        frmCustomerDetails.Enabled = True
        For Each Tbox In frmCustomerDetails.Controls
            Tbox.ForeColor = vbBlack
        Next Tbox
    End If
End Sub

@Excel英雄 谢谢芽。 但在重新检查我的代码后,我发现缺少的是完成我框架中的所有标签(其中一些是空的),所以当我 运行 它实际上正在工作。 再次发芽 ;)