如何为所有组合框更改 属性?

How to change a property for all ComboBoxes?

我的表格中有几个 ComboBoxes。我需要更改他们的 DropDownStyle。有什么办法可以做到这一点。这些都 ComboBoxes 在 5 个标签中。

下面我举个例子

For Each tbxControl As Control In Me.Controls
    If TypeOf (tbxControl) Is TextBox Then
        tbxControl.ForeColor = Color.Black
    End If
Next

代码示例如下

 With cboProvince
                    .DropDownStyle = ComboBoxStyle.DropDown
                    .Text = CStr(odrEmployeeMasterRecordsSearch("Province_Name"))
                End With
                With cboDistrict
                    .DropDownStyle = ComboBoxStyle.DropDown
                    .Text = CStr(odrEmployeeMasterRecordsSearch("District_Name"))
                End With
                With cboPostalCode
                    .DropDownStyle = ComboBoxStyle.DropDown
                    .Text = CStr(odrEmployeeMasterRecordsSearch("PostOffice"))
                End With

您的代码有效,因为 ForeColorControl class 的 属性,因此您可以在 [=] 上访问 属性 13=]参考。 DropDownStyleComboBox class 的 属性,因此您需要转换为该类型。此代码将一次性过滤和投射:

For Each cmbx In Controls.OfType(Of ComboBox)()
    cmbx.DropDownStyle = DropDownStyle.DropDownList
Next

请注意,这仅适用于直接在表格上而不是在 Panel 或其他容器中的 ComboBoxes

郑重声明,您可以对原始代码执行类似的操作:

For Each tbxControl In Me.Controls.OfType(Of TextBox)()
    tbxControl.ForeColor = Color.Black
Next