99555

Коллекции объектов в Visual Basic

Доклад

Информатика, кибернетика и программирование

В Visual Basic объекты можно объединять в коллекции. Как правило, такие объекты относятся к одному типу. Однако можно объединять в коллекцию и объекты разных типов. Коллекция позволяет выполнять некоторые одинаковые действия со всеми входящими в нее объектами.

Русский

2016-09-23

125 KB

0 чел.

Коллекции объектов

К коллекции объектов можно применять оператор For Each.

В Visual Basic объекты можно объединять в коллекции. Как правило, такие объекты относятся к одному типу. Однако можно объединять в коллекцию и объекты разных типов. Коллекция позволяет выполнять некоторые одинаковые действия со всеми входящими в нее объектами.

В Visual Basic определены две встроенные коллекции объектов, к которым можно обращаться непосредственно:

Forms - включает все загруженные формы проекта;

Controls - включает управляющие элементы всех форм.

Каждая коллекция, кроме методов и свойств, входящих в нее объектов, имеет собственные методы и свойства. Кроме того, все коллекции имеют следующие общие свойства и методы:

• свойство Count - содержит число объектов в коллекции;

• метод Item - служит для выбора объекта в коллекции. Некоторые коллекции имеют следующие методы:

Add - с его помощью в коллекцию можно включить новый объект;

Remove - с его помощью объект можно исключить из состава коллекции.

В случае необходимости, кроме встроенных коллекций, можно определять свои коллекции. Для этого необходимо создать объект типа Collection. Объявление такого объекта имеет синтаксис

Public  |    [Private] |  Dim ИмяКоллекции As New Collection

 Некоторые объекты могут не поддерживать какое-то конкретное свойство или метод. VB позволяет обойти это препятствие двумя способами: с помощью ключевого слова TypeOf и функции TypeName.

Ключевое слово TypeOf можно использовать только в операторах IfThenElse … . Необходимо включить имя класса непосредственно в разрабатываемый код. Например, If TypeOf MyControl Is CheckBox Then ….

Функция TypeName отличается большей гибкостью. Ее можно использовать в любом месте кода и, так как она возвращает имя класса в строке, ее можно использовать в операторах сравнения со строковой переменной.

Рассмотрим пример создания коллекции управляющих элементов и их массовой обработки. В экранной форме проекта для этого примера будут размещены пять элементов управления CommandButton и один элемент Label. Все элементы CommandButton будут включены в коллекцию, а затем для каждого управляющего элемента этой коллекции в цикле For Each свойствам Caption будет установлено значение Мы из коллекции. Для разработки программы примера следует выполнить такие действия.

1. Создать новый проект с экранной формой, как показано на рис. 1, установить ее свойству Caption значение Цикл For Each.

Рис. 1

2. Поместить в форму управляющий элемент CommandButton, а затем создать массив из четырех этих элементов.

3. Поместить в экранную форму еще два элемента CommandButton, установив их свойствам Caption значения Выполнить и Выход соответственно.

4. Свойству Caption управляющего элемента Label установить значение Коллекция управляющих элементов.

5. В раздел "General" формы поместить код:

Option Explicit

Dim Коллекция As New Collection 'Объявление объекта типа Collection

Dim X As Control 'Объявление переменной типа Control

6. В процедуру обработки события Click для управляющего элемента с именем Command2 поместить код:

Private Sub Command2_Click()

For Each X In Controls   'Начало цикла

If TypeOf X Is CommandButton Then

 'Если управляющий элемент CommandButton,

'то добавить в коллекцию

Коллекция.Add X

End If

Next X 'Конец цикла For Each

For Each X In Коллекция

'Цикл, устанавливающий значения свойств

'Caption коллекции элементов

X.Caption = «Мы из коллекции»

Next X

End Sub

7. В процедуру обработки события Click для управляющего элемента с именем Command3 поместить код:

Private Sub Command3_Click()

End

       End Sub

8. Запустить программу на выполнение. После щелчка мышью по кнопке <Выполнить> изображение на экране примет вид, как показано на рис. 2.

Рис. 2


 

А также другие работы, которые могут Вас заинтересовать

10744. Расчет редуктора и его составляющих 3.69 MB
  1 КИНЕМАТИЧЕСКИЙ РАСЧЕТ И ВЫБОР ЭЛЕКТРОДВИГАТЕЛЯ Исходные данные: N4 = 7 кВт n4 = 50 мин 1 = 80 Производство серийное По стр.13 табл. 1.2.1 принимаем КПД передач: пк = 099 КПД подшипников качения; м = 099 КПД муфты; цзп = 098 КПД цилиндрической
10745. Создание АРМ Отдел кадров для фирмы SRL 9.7 MB
  1. КОНЦЕПТУАЛЬНЫЕ ОСНОВЫ АВТОМАТИЗАЦИИ КАДРОВОГО МЕНЕДЖМЕНТА 1.1. Теоретические аспекты автоматизации систем кадрового менеджмента Автоматизированное рабочее место работников отдела кадров обеспечивающий выполнение функций кадрового менеджмента это рабочее ме...
10746. Экономические риски коммерческого банка на примере ОАО АКБ Росбанк 17.56 MB
  Выпускная квалификационная работа на тему: Экономические риски коммерческого банка Специальность 080105 Финансы и кредит Содержание Введение Глава 1. Организационно-экономическая характеристика ОАО АКБ Росбанк Краткая характеристика ОАО А...
10747. Бурение скважин 6.19 MB
  ОГЛАВЛЕНИЕ ВВЕДЕНИЕ .ОБЩИЕ СВЕДЕНИЯ О БУРЕНИИ СКВАЖИН 1.1. Основные технические понятия целевое назначение скважин .2. Производственные операции бурения .3. Основные технологические понятия и показатели бурения 2.ФИЗИКОМЕХАНИЧЕСКИЕ СВО...
10748. Проектирование состава асфальтобетона для устройства верхнего слоя покрытия автомобильной дороги находящейся во II-ой дорожно-климатической зоне III категории дороги 1.24 MB
  СОДЕРЖАНИЕ ЗАДАНИЕ ВВЕДЕНИЕ ГЛАВА 1Выбор вида типа и марки асфальтобетона ГЛАВА 2 Оценка качества исходных материалов 2.1 Щебень 2.2 Песок 2.3 Минеральный порошок 2.4 Битум ГЛАВА 3 Расчёт состава минеральной части а/б 3.1 Расчёт по кривым плотных сме...
10749. Электротехника с основами электроники. Лабораторный практикум 8.17 MB
  ЛАБОРАТОРНЫЙ ПРАКТИКУМ по курсу Электротехника с основами электроники для студентов факультета Механизации сельского хозяйства цикл Лабораторный практикум по курсу Электротехника с основами электроники 2 цикл. Для студентов факультета механизации сельск...
10750. Термоядерный синтеза для производства электроэнергии в России и проблемы этого проекта 558.84 KB
  Реферат Термоядерный синтеза для производства электроэнергии в России и проблемы этого проекта. Содержание: Введение Краткая история проекта. Технические экологические и медицинские проблемы. Экономические проблемы. Экологически...
10752. Информационный менеджмент (ИМ) 105.46 KB
  Информационный менеджмент ИМ Оглавление Введение1 Тема 1. Развитие ИС и обеспечение ее обслуживания2 Тема 2. Планирование в среде ИС4 Тема 3. Формирование организационной структуры в области информатизации8 Тема 4. Использование и эксплуатация ИС12 Тема 5. Фо