Массив элементов управления это группа идентичных элементов управления (командные кнопки, текстовые поля и т.д.) имеющие общие процедуры обработки событий.
Работа с массивами элементов управления требует меньших затрат на написание программы и придает ей большую гибкость в работе.
Почти все элементы управления (но только идентичные) могут организовываться в массивы.
На данный момент времени существует два способа создания массива элементов управления:
Создание массива элементов управления во время разработки;
Создание массива элементов управления во время выполнения программы;
Рассмотрим процесс создания массива элементов управления.
Создание массива элементов управления во время разработки
Если Вам известно конкретное количество тех или иных элементов управления, то будет целесообразней создать их во время разработки. Сделать это очень просто.
Создаем РЅР° форме, Рє примеру, элемент управления CommandButton1, убеждаемся, что РѕРЅ РѕРЅ выделен Рё копируем его РІ буфер обмена (Ctrl+C). Далее выполняя операцию Ctrl+V, получаем РЅР° форме еще РѕРґРёРЅ элемент управления CommandButton1. Р’ результате этих действий Р’С‹ создали массив элементов РёР· РґРІСѓС… командных РєРЅРѕРїРѕРє! Теперь внимательно просмотрите РѕРєРЅРѕ вЂProperties’, там Р’С‹ увидите,  что созданные командные РєРЅРѕРїРєРё, которые отличаются РґСЂСѓРі РѕС‚ РґСЂСѓРіР° только СЃРІРѕРёРј индексом. Index - это то свойство, которое позволяет элементам управления организовываться РІ массивы. Открыв РѕРєРЅРѕ РєРѕРґР°, Р’С‹ увидете, что несмотря РЅР° то, что РЅР° форме находятся РґРІРµ командные РєРЅРѕРїРєРё, РІ разделе Object присутствует только – Command1. Выбрав ее Р’С‹ попадете РІ процедуру обработки события
Click, обратите внимание, что в данном случае процедура содержит аргумент Index. Аргумент Index указывает на индекс того элемента управления, для которого сгенерировано событие.
Если Вы следовали описанию и создали на форме командные кнопки, то впишите следующий код в процедуру обработки Click и Вам станет ясно как это работает.
Private Sub Command1_Click (Index As Integer)
 'В заголовке формы отображаем индекс нажатой кнопки
 Me.Caption = "Нажата кнопка с индексом - " & Index
End Sub
Создание массива элементов управления во время выполнения программы
Если Вам заранее РЅРµ известно количество тех или иных элементов управления, которое необходимо будет создать, то РЅРµ волнуйтесь, С‚.Рє. Рё это очень просто. Создаем РЅР° форме, Рє примеру, элемент управления CommandButton1, РІ РѕРєРЅРµ вЂProperties’ для свойства Index устанавливаем значение 0 (нуль). Р’ результате выполненых Вами действий создается массив элементов управления СЃ РѕРґРЅРёРј элементом. Для создания последующих элементов управления (РІ данном случае командных РєРЅРѕРїРѕРє) Вам необходимо будет ввести соответствующий РєРѕРґ РІ процедуру обработки события выполнении РїСЂРё которой должен (или должны) возникнуть новые элементы управления. Р’ данном случае РјС‹ вставляем РєРѕРґ РІ процедуру обработки события Form_Load формы.
Private Sub Form_Load ()
 'Создаем новую командную кнопку в существующий массив
В Load Command1(1)
 'Размещаем ее там, где Вам необходимо...
В Command1(1).Top = Command1(0).Top + Command1(0).Height
В Command1(1).Left = Command1(0).Left
 'Делаем новую кнопку видимой
В Command1(1).Visible = True
End Sub
Р’РѕС‚ Рё РІСЃРµ !
Если Вы следовали описанию и создали на форме командные кнопки, то впишите следующий код в процедуру обработки Click и Вам станет ясно как это работает.
Private Sub Command1_Click (Index As Integer)
 'В заголовке формы отображаем индекс нажатой кнопки
 Me.Caption = "Нажата кнопка с индексом - " & Index
End Sub
Список литературы
Для подготовки данной работы были использованы материалы с сайта http://visualprogs.narod.ru/