Как изменить параметр сразу нескольких объектов?

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Hawk[BZ]
Начинающий
Начинающий
 
Сообщения: 6
Зарегистрирован: 30.01.2004 (Пт) 20:14

Как изменить параметр сразу нескольких объектов?

Сообщение Hawk[BZ] » 12.02.2004 (Чт) 16:05

Допустим есть несколько одинаковых объектов. Например, TextBox. И называются они TextBox1, TextBox2, TextBox3 и так далее. Допустим, нужно изменить значение параметра Text каждого объекта. Можно ли это задать через цикл? Чтобы не писать:
Text1.Text="Текст"
Text2.Text="Текст"
Text3.Text="Текст"
...
Text100.Text="Текст"

Kostyan
Постоялец
Постоялец
 
Сообщения: 439
Зарегистрирован: 20.09.2002 (Пт) 4:14
Откуда: Россия, Уссурийск

Сообщение Kostyan » 12.02.2004 (Чт) 16:18

Нужно было сразу создавать массив текстбоксов, тогда к ним можно было бы обращаться
Fir i=1 To 100
Text1(i).Text="Text"
Next
Нет ничего невозможного для человека с интеллектом.

arechemist
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 173
Зарегистрирован: 24.10.2003 (Пт) 8:45

Сообщение arechemist » 12.02.2004 (Чт) 18:26

А можно ли сразу изменить свойство разных объектов, и при этом постоянно не писать Text1.caption="asdf", commandButon.caption="asdf", т. е. как-нибудь покороче
Допустим там и лейблы и текстбоксы и фраймы, как можно изменить их свойство сразу (например caption). Тут простым цыклом не получиться.
Я что-то слышал о колекциях, но с ними работать не умею... Помойму с помощью них это можно будет сделать... расскажите как

Rainbow
Человек-радуга
Человек-радуга
 
Сообщения: 543
Зарегистрирован: 13.05.2003 (Вт) 14:16

Сообщение Rainbow » 12.02.2004 (Чт) 20:28

Сразу всем не получится

Коллекция - это массив фактически, если тебе это слово ближе
В VB есть встроенный класс Collection
Можешь объявить объект этого класса и добавить туда любые элементы, в том числе и контролы. Только цикл тебе все равно придется организовать. Только теперь ты будешь перебирать элементы коллекции

Код: Выделить всё
Dim c As Collection
Set c = New Collection
c.Add Command1
c.Add Command2

Dim i As Long
For i = 1 To c.Count
    c(i).Caption = "AAA"
Next
Учиться - значит открывать для себя то, что уже знаешь. <...> Учить - значит напоминать другим о том, что они знают это также хорошо, как и ты. <...> Лучше всего ты учишь тому, чему тебе самому больше всего надо научиться. (Р. Бах)


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: SemrushBot и гости: 1

    TopList