Если вы дадите двум или более элементам управления одно и то же свойство "(Имя)" в конструкторе форм, VB предложит вам создать массив элементов управления, который может быть тем, что вам нужно.
Если вам нужно создать массив вручную, помните, что вам нужно его размерить. Например.,
Dim list(0 To 9) As ListBox
Или:
Dim list() as ListBox
...
ReDim list(0 To 9) As ListBox
Но вы также должны поместить ListBoxes в массив. Когда вы впервые измеряете массив, вы получаете только сам массив. Все его записи установлены на 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