如何在vb6中定义列表数组?

时间:2011-12-04 13:03:03

标签: arrays vb6 listbox

我想在vb6中声明一个Listbox数组,我需要帮助才能做到这一点。 我试过这段代码:

Dim list() As ListBox

但有以下错误:

object variable or with block variable not set 91

1 个答案:

答案 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