【发布时间】:2015-01-04 09:25:48
【问题描述】:
我正在制作一个小的 vb.net windows 窗体应用程序,其中有 4 个 ComboBoxes。我想将 ComboBoxes 添加到一个集合中,并能够遍历该集合以引用每个集合。
表单上还有其他 ComboBox,所以我不能只将集合用于整个表单(无法更改表单布局,例如添加容器等)。
我的想法是这样的:
Public Class Form1
Dim IoTypeCombos As New ControlCollection(Me) From {Me.IO1_ComboBox, Me.IO2_ComboBox, Me.IO3_ComboBox, Me.IO4_ComboBox}
Dim IoTypes As New Collection() From {"Out 0", "Out 1", "Input", "Analog"}
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
For Each cb As combobox In Me.IoTypeCombos
FillComboBox(cb, Types)
Next
End Sub
Function FillComboBox(cb As Control, cc As Collection) As Boolean
Dim cbc As ComboBox = CType(cb, ComboBox)
If cc.Count = 0 Then
Return False
End If
For Each cn In cc
cbc.Items.Add(cn)
Next
Return True
End Function
这不会引发任何异常,但它也不会填充 ComboBoxes :( 如果我将单个控件传递给 FillComboBox(),则它可以完美地工作。 我究竟做错了什么?谢谢
【问题讨论】:
标签: vb.net collections combobox controlcollection