使用相同的值填充多个组合框

时间:2012-11-27 15:16:12

标签: vb.net combobox

我的表单上有8个组合框,它们都具有相同的值 - 是和否。

有没有比做combox1.items.add(“是”)等更快的方法?

我有以下内容,但我似乎无法找到与添加项目有关的任何内容。

    Dim cmb As Control
    For Each cmb In Panel1.Controls
        If TypeOf cmb Is ComboBox Then
'cmb. isnt beinging anything up for adding items?
        End If
Next

干杯

3 个答案:

答案 0 :(得分:4)

您可以使用Enumerable.OfType

For Each cmb In Panel1.Controls.OfType(Of ComboBox)()
    cmb.Items.Add("Yes")
Next

答案 1 :(得分:1)

我会创建一个包含DataSource值的{Yes,No},例如List,然后执行此操作:

For Each cmb In Panel1.Controls.OfType(Of ComboBox)()
  cmb.DataSource = myYesNoDataSource
Next

稍后,如果您需要接受YN代替YesNo,则可以转换为Dictionary并设置ValueMember }和DisplayMember相应的。此外,您的可用值列表仅初始化一次。所以你的解决方案变得灵活。

答案 2 :(得分:0)

如果您没有使用面板,此代码将非常有用。 如果您有5个组合框,则给出计数1到5以及ComboBox1,ComboBox2,comboBox3等组合框的名称。

For count = 1 To 5
Dim combobox = DirectCast(Me.Controls("ComboBox" & n & ""), ComboBox)
combobox.Items.Add("Ok")
Next

希望这段代码也可以帮到你。