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留空。帮助答案 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)
?