Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Работа с коллекциями





 

 
 

Мы уже встречались с наборами, но всегда обращались к элементам набора по индексу, т.е. поодиночке. Это возможно, если в набор входят однотипные элементы, например, элементы списка и работать с ними надо по очереди. Но бывают случаи, когда необходимо выполнить какую-нибудь операцию одновременно (условно одновременно) с несколькими элементами разных классов. Такие наборы называют коллекциями. Создадим программу для такого случая. Создайте новый проект. Разместите на форме проекта четыре объекта класса Image так, чтобы получился набор. Придайте им вид, изображенный на рисунке. С объектами свяжите 4 любые иконки, которые вы найдете на своем диске. Добавьте командную кнопку и подпишите ее. Свяжите с элементами интерфейса нижеследующий код. Сохраните ваш проект в личной папке. Изучите код программы и запустите ее.

 

1. Option Explicit

2. Dim Рис As Control

 

3. Private Sub Command1_Click()

4. For Each Рис In Controls

5. If Рис.Tag <> "Нет" Then

6. Рис.Left = Рис.Left + 200

7. End If

 

8. Next Рис

9. End Sub

 

Программа в специальном объектном цикле будет перемещать рисунки вправо. Командная кнопка будет оставаться на месте. В строке 2 описывается переменная Рис типа Control. Дело в том, что все размещенные на форме элементы образуют коллекцию. Эта переменная просто представляет любой элемент (Control) в коллекции Controls. Цикл по перемещению элементов реализован в строках 4 – 8 с помощью конструкции For Each…Next. Эта конструкция используется для циклической работы с объектами, а элементы управления на форме как раз и являются такими объектами. Коллекция включает неоднородные объекты – Image и Command, но в процессе выполнения цикла они будут рассматриваться как одно целое. Все указанные элементы интерфейса имеют свойство Tag (тэг) в окне свойств. Установим для командной кнопки это свойство равным "Нет". Для остальных элементов коллекции оставим это свойство пустым. В цикле проверяется, не равен ли тэг элемента коллекции значению "Нет". Если не равен, то свойство элемента Left (это расстояние элемента на форме от ее левого края) получает приращение 200 твипов (специальная единица измерения расстояния на экране монитора) и соответствующий элемент коллекции перемещается вправо. Так обрабатываются все элементы коллекции, кроме кнопки. При каждом нажатии кнопки "Переместить", рисунки перемещаются вправо.

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

Пример 12

Date: 2016-07-25; view: 264; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.009 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию