Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/15: Рейтинг темы: голосов - 15, средняя оценка - 5.00
3 / 3 / 0
Регистрация: 20.07.2012
Сообщений: 50
1

Как обратиться к Label, подставив в индекс переменную

10.11.2012, 19:28. Показов 3143. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Visual Basic
1
2
3
4
5
6
7
8
For i = 0 To 5
If rabotniki(i) = 0 Then
Label30(i).Visible = False
For t = 0 To 30
Labeli(t).Visible = False
Next t
End If
Next i
Имеются Label1(0-30) Label2(0-30) Label3(0-30) Label4(0-30) Label5(0-30) Label6(0-30)
В цикле пытаюсь вместо номера лейбла(не индекса) написать переменную i.
Но не выходит...
Как-то можно это обойти или как это сделать?
Лейблы для очистки выбираются хаотично, оттого и нет возможности писать вручную номер каждого лейбла...
Неужели нельзя их в цикле переназывать и придется писать 30 условий, чтобы работало..?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.11.2012, 19:28
Ответы с готовыми решениями:

Обратиться к ресурсу по имени, подставив переменную в его часть
Подскажите кто знает, можно ли данную процедуру написать без перебора вариантов оператором Case....

Как определить индекс страницы, чтобы обратиться к ней с помощью Sheets(i), где i-индекс?
В Excel95 к меткам и чекбоксам можно было обращаться по индексу типа Label(i), а в 2000-ном этого...

Как обратиться к 400 Label по индексу
Здравствуйте! возникла проблема! нет такого понятия как индекс в visual studio. А требуется...

Как обратиться к нескольким Label в цикле
у меня на форме есть n-ое количество лейблов. я хочу к ним всем обратится чтобы изменить свойства....

3
Модератор
Эксперт функциональных языков программированияЭксперт Python
36601 / 20330 / 4220
Регистрация: 12.02.2012
Сообщений: 33,640
Записей в блоге: 13
10.11.2012, 19:42 2
Что-то непонятно... Сколько у тебя массивов Label?

"В цикле пытаюсь вместо номера лейбла(не индекса) написать переменную i" - но переменную можно писать только на месте индекса.
0
Заблокирован
10.11.2012, 19:45 3
Лучший ответ Сообщение было отмечено как решение

Решение

Как-то так -
Visual Basic
1
2
3
4
5
for i=0 to 6
  for t=0 to 30
    me.controls("Label" & i)(t)="Label" & i & "(" & t & ")"
  next
next
6
3 / 3 / 0
Регистрация: 20.07.2012
Сообщений: 50
11.11.2012, 11:24  [ТС] 4
Похоже на то что надо)) Проверю только послезавтра)
Спасибо))

Добавлено через 15 часов 30 минут
Visual Basic
1
2
3
4
5
6
7
8
For i = 0 To 5
If rabotniki(i) = 0 Then
Label30(i).Visible = False
For t = 0 To 30
Me.Controls("Label" & i + 1)(t).Visible = False
Next t
End If
Next i
Проверил, работает так как надо)) Спасибо))
0
11.11.2012, 11:24
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.11.2012, 11:24
Помогаю со студенческими работами здесь

Как обратиться к метке(надпись - Label)
ставлю на лист элемент управления метку. Называется в "подпись". В не й написано метка5, например....

Как обратиться к уже созданным на форме label'ам в цикле?
Как обратиться к уже созданным на форме label'ам в цикле? наподобие label(i). А то так не работает.

Как обратиться к ресурсу не по имени, а через переменную
например здесь нельзя-ли вместо слова "ноль" подставить переменную чтобы заменить одной строкой все...

Как поменять обратиться к столбцу через переменную
В общем проблема такая. Я должен через Update поменять значение в ячейке, но так как программа...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru