14. МАССИВЫ ЭЛЕМЕНТОВ УПРАВЛЕНИЯ

 

В Visual Basic можно создавать массивы любого типа, в том числе и элементов управления. Именно эта отличительная особенность языка придает ему особую гибкость и популярность. Массив элементов управления можно применять для создания общей процедуры обработки события, которая будет использоваться всеми его элементами. Помимо этого возникает возможность динамически добавлять в форму или удалять из нее новые объекты.

Все встроенные элементы управления могут быть организованы в массивы, т.к. у них имеется свойство «Index», используемое для идентификации нужного элемента.

Многие подобные массивы создаются во время разработки. Для этого необходимо у нескольких элементов управления указать одинаковое имя в свойстве «Name». При этом Visual Basic предложит создать массив элементов управления. При утвердительном ответе массив будет создан, а при отрицательном восстановит прежнее имя объекта. Создать массив из одного элемента управления можно также, указав в его свойстве «Index» значение нуль. Все эти элементы будут меть одинаковое имя и различаться только индексами: для первого элемента индекс будет равным 0, для второго – 1 и т.д.

 

Примечание

Нужно помнить, что к объединению в массив допускаются только одинаковые элементы управления. В противном случае Visual Basic выдаст ошибку о недопустимом имени объекта.

 

Процедура обработки события будет общей для всех элементов массива и имеет следующий синтаксис:

Private Sub NameControl_<Событие>(Index As Integer)

·         Private – зарезервированное слово, определяющее видимость процедуры в структуре приложения.

·         Sub – кодовое слово, определяющее вид программного блока.

·         NameControl – имя объекта, генерирующего событие (элемент управления или форма).

·         <Событие> – название конкретного события.

·         Index – переменная, в которую будет помещено значение индекса элемента управления, вызвавшего событие.

 

При необходимости после переменной «Index» записываются необходимые параметры процедуры.

Для создания нового элемента управления необходимо воспользоваться оператором «Load» согласно следующему синтаксису:

Load NameArrayControl(Index)

·        Load – имя оператора;

·        NameArrayControl – имя массива элементов управления;

·        Index – номер создаваемого элемента массива.

 

Примечание

Новый элемент управления будет обязательно невидимым, а остальные свойства будут копироваться из элемента с индексом нуль. Поэтому после создания нового элемента его необходимо сконфигурировать должным образом.

 

Для удаления элемента управления применяют оператор «Unload» аналогичного синтаксиса:

Unload NameArrayControl(Index)

·        Unload – имя оператора;

·        NameArrayControl – имя массива элементов управления;

·        Index – номер создаваемого элемента массива.

 

Важно помнить, что свойство «Index» должно изменяться равномерно: строго от нуля без пропусков. Например, если имеется массив из трех элементов (от 0 до 2), то следующий будет обязательно с индексом 3. Удалить элемент управления можно также только с максимальным индексом. Сразу создать или удалить несколько элементов массива нельзя.

 

 

Контрольные вопросы для самопроверки

  1. Что такое «массив элементов управления»?
  2. Для каких целей создается массив элементов управления?
  3. Какой смысл имеет свойство элементов управления «Index»?
  4. Как можно изменить количество элементов управления в массиве?
  5. Какая особенность вновь создаваемых элементов управления?
  6. Можно ли создавать многомерные массивы элементов управления?