这是填充组合框的正确方法吗?
在表单上,combox被命名为cmbType1
,cmbType2
,cmbType3
...等等。
我正在使用以下类型的逻辑来初始化组合框:
Private Sub fillCombo(count As Integer)
Dim cmbControl As Object
For i = 1 To count
Set cmbControl = Me.Controls.item("cmbType" + CStr(i))
cmbConnectorTypeControl.AddItem ("ABC")
Next i
End Sub
所以我只想交叉验证这是正确的编码风格吗?
欢迎任何建议......
答案 0 :(得分:2)
亚历克斯是对的。如果表单上已经包含组合框,并且您的通用fillCombo方法有效,请尝试更改方法以将 ComboBox 作为参数。它将保存用于查找和简化代码的命中。我假设你并没有真正将“ABC”添加到所有组合框中,直到计数,但即使你是我,我宁愿在循环中调用这个方法。
Private Sub fillCombo(ByVal vCombobox As ComboBox)
vCombobox.AddItem ("ABC")
End Sub
答案 1 :(得分:0)
您可以跳过需要指定初始计数的内容;
fillCombo "cmbType"
...
function fillCombo(name)
dim ctrl as Control
for each Control in Me.Controls
if typeof Control is ComboBox then
if left$(Control.name, len(name)) = name then
Control.additem "ABC"
end if
end if
next
end function