如何使用字符串数组填充ComboBox?

时间:2014-03-27 08:33:05

标签: arrays vb.net combobox

Private Sub frmQuery3_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
    frmQuery2.Hide()
    Dim columns As String = frmQuery2.GetColumns
    cmbColumnSort.MaxDropDownItems = columns.Length
    For stepper = 0 To (columns.Length - 1)
        cmbColumnSort.Items.Add(columns(stepper))
    Next
End Sub

cmbColumnSort最初是一个空的ComboBox。我想做的是用字符串数组列填充ComboBox,这些列不应该为空(当然不在frmQuery2中)。

事情是,它不起作用。我已经尝试了Step Into来查看属性GetColumns是否实际返回一个填充数组(因为frmQuery2中的数组已填充),但Step Into只是跳过上面代码的第三行并加载表单,等待进一步输入,并将ComboBox留空。帮助

3 个答案:

答案 0 :(得分:1)

您需要一个字符串数组来获取列,因此请使用Dim columns() As String

以下代码工作正常

    Dim columns() As String = {"1", "2", "3"}
    ComboBox1.MaxDropDownItems = columns.Length
    For stepper = 0 To (columns.Length - 1)
        ComboBox1.Items.Add(columns(stepper))
    Next

我建议您使用For Each

使代码更清晰,更容易编写
    Dim columns() As String = {"1", "2", "3"}
    ComboBox1.MaxDropDownItems = columns.Length
    For Each column As String In columns
        ComboBox1.Items.Add(column)
    Next

答案 1 :(得分:1)

如果您不想创建数组

ComboBox1.DataSource = {"Text1", "Text2", "Text3"}

答案 2 :(得分:0)

为什么不ComboBox1.Items.AddRange(columns)