Перебрать контролы в форме

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
IVAN008
Обычный пользователь
Обычный пользователь
 
Сообщения: 63
Зарегистрирован: 15.02.2005 (Вт) 12:19

Перебрать контролы в форме

Сообщение IVAN008 » 07.06.2005 (Вт) 7:36

Вопрос достаточно простой, как мне получить массив текстбоксов которые находяться на форме в количестве ~ 200 шт. а потом перебрать массив и изменить свойства боксов по определенному правилу.
И еще одно небольшое дополнение - я ваяю форму в Access, а там нет индекса у текстбоксов, поэтому перебор по индексу некатит.
С уважением..... Иван
Жду ответа как соловей лета :-))

a_mayor
Новичок
Новичок
 
Сообщения: 41
Зарегистрирован: 02.06.2005 (Чт) 21:44

Сообщение a_mayor » 07.06.2005 (Вт) 9:32

Примерно так:

Код: Выделить всё

Private Sub CommandButton1_Click()
    Dim iIndex As Integer
   
   
   
    For iIndex = 0 To Controls.Count - 1
        MsgBox Controls.[_GetItemByIndex](iIndex).Name
    Next
End Sub


Квадратные скобки обязательно (это не ошибка), это скрытая функция.

Уже предвижу следующий вопрос. Но пока нет ответа. Но всё равно можешь спросить.

Шурик
Самогонщик
Самогонщик
Аватара пользователя
 
Сообщения: 1657
Зарегистрирован: 30.06.2003 (Пн) 13:27
Откуда: из запоя :))))) Матных сообщений: 972

Сообщение Шурик » 07.06.2005 (Вт) 9:33


IVAN008
Обычный пользователь
Обычный пользователь
 
Сообщения: 63
Зарегистрирован: 15.02.2005 (Вт) 12:19

Сообщение IVAN008 » 07.06.2005 (Вт) 13:08

Ничтяк!!! понял почти всё!!!
Шурик реально Самогоньщик!!!
Если можно вопрос совсем чайника :-)
чвто такое collection, точнее я немного догадыфваюсь, но как туда добавить интересующие меня контролы.
Не ругайтесь сильно матом, просто мауала нет под рукой :-)

Студентка
Обычный пользователь
Обычный пользователь
 
Сообщения: 60
Зарегистрирован: 06.06.2005 (Пн) 18:40

Сообщение Студентка » 07.06.2005 (Вт) 17:09

Извининте, что я тут влезла со своей проблемой.
просто у меня тоже массив текстбоксов, и я не знаю как мне каждому из них задать значение datafield.
если бы не массив тогда понятно, а так не знаю...
что надо в коде написать?
я писала
Set Text1(i).DataSource = f1
, но это действует только на 1-й элемент массива,а для остальных нет.
Буду благодарна если поможите...
Еще раз извиняюсь, что так нагло влезла

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 07.06.2005 (Вт) 17:17

Код: Выделить всё
dim i as Integer

For i=0 to Text1.Count-1
   Set Text1(i).DataSource=f1
Next


ээх, студентка :lol:

Студентка
Обычный пользователь
Обычный пользователь
 
Сообщения: 60
Зарегистрирован: 06.06.2005 (Пн) 18:40

Сообщение Студентка » 07.06.2005 (Вт) 17:31

Konst_One

For i = 1 To r1.Recordset.RecordCount

Load Text1(i)
Text1(i).Top = Text1(i - 1).Top + 359
Text1(1).Left = Text1(i - 1).Left
Text1(i - 1).Visible = True
Set Text1(i).DataSource = f1
Next i

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

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 07.06.2005 (Вт) 17:33

а что такое f1 :?:

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 07.06.2005 (Вт) 17:34

и DataField надо обязательно указать :!: :wink:

Студентка
Обычный пользователь
Обычный пользователь
 
Сообщения: 60
Зарегистрирован: 06.06.2005 (Пн) 18:40

Сообщение Студентка » 07.06.2005 (Вт) 17:36

Konst_One
f1 - имя adodc которая связана с таблицей.
А где datafield указать надо?

Студентка
Обычный пользователь
Обычный пользователь
 
Сообщения: 60
Зарегистрирован: 06.06.2005 (Пн) 18:40

Сообщение Студентка » 07.06.2005 (Вт) 17:38

Konst_One
как указать datafield ведь это же массив?

Студентка
Обычный пользователь
Обычный пользователь
 
Сообщения: 60
Зарегистрирован: 06.06.2005 (Пн) 18:40

Сообщение Студентка » 07.06.2005 (Вт) 17:43

Господи поможет мне кто-нибудь или нет?:
мне завтра работу сдавать........... :cry:

Prickly
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 82
Зарегистрирован: 07.10.2004 (Чт) 18:44
Откуда: From Russia

Сообщение Prickly » 07.06.2005 (Вт) 23:28

Как datasource указываешь так и datafield указывай!
Не было бы Гейтса, не было бы нас!


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

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

Сейчас этот форум просматривают: SemrushBot, Yandex-бот и гости: 86

    TopList