我想在vb6中声明一个Listbox数组,我需要帮助才能做到这一点。 我试过这段代码:
Dim list() As ListBox
但有以下错误:
object variable or with block variable not set 91
答案 0 :(得分:3)
如果在表单设计器中为两个或多个控件提供相同的“(Name)”属性,VB将提示您创建一个控件数组,这可能是您想要的。
如果您需要手动创建阵列,请记住您必须对其进行尺寸标注。如,
Dim list(0 To 9) As ListBox
或者:
Dim list() as ListBox
...
ReDim list(0 To 9) As ListBox
但是你还必须将ListBox放在数组中。首次维度数组时,只能获取数组本身。它的所有条目都设置为Nothing
,这就是“对象变量或未设置块变量”的含义。在使用它之前,您必须Set
每个数组条目到有效的ListBox。
如果要在运行时向表单添加控件,请使用Controls.Add
。例如:
For i = LBound(list) To UBound(list)
Set list(i) = Controls.Add("VB.ListBox", "List" & i, Me)
list(i).Visible = True
list(i).AddItem "hello"
list(i).Move 0, list(i).Height * i
Next