Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Пройтись по всем элементам одного типа / 17 сообщений из 17, страница 1 из 1
21.05.2010, 20:52
    #36642555
Foxter
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пройтись по всем элементам одного типа
Здравствуйте!

У меня возникла такая задача. Есть набор элементов типа лейбл. На форме их, скажем, 10. Мне необходимо у первых 5-ти (label1 - label5) поменять, скажем, цвет фона. Хотел использовать оператор For each но не знаю как определить, что именно первые 5 элемнтов необходимо "перекрасить".

Не поможете?
...
Рейтинг: 0 / 0
21.05.2010, 20:54
    #36642557
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пройтись по всем элементам одного типа
Код: plaintext
1.
2.
For i =  1  To  5 
  Me.Controls("Label" + CStr(i)).BackColor =  255 
Next
...
Рейтинг: 0 / 0
21.05.2010, 21:11
    #36642564
Foxter
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пройтись по всем элементам одного типа
Shocker.Pro,

Спасибо. Не думал, что в переменных можно обращаться к имени элемента :)
...
Рейтинг: 0 / 0
23.05.2010, 03:07
    #36643609
Андрей159
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пройтись по всем элементам одного типа
опа и масив не нужен. Класно. Спасибо
...
Рейтинг: 0 / 0
30.05.2010, 20:01
    #36657928
Ципихович Эндрю
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пройтись по всем элементам одного типа
Shocker.Pro,

извините а как будет пройтись по лейблам которые в документе а не в форме, пробовал:
For i = 1 To 3
ActiveDocument.Controls("Label" + CStr(i)).BackColor = 255
Next
НЕ получилось.
...
Рейтинг: 0 / 0
30.05.2010, 20:27
    #36657937
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пройтись по всем элементам одного типа
Ципихович Эндрю,

Скажите, как вы добавляете метку к документу, и я наверное смогу сказать, как их перебрать.
...
Рейтинг: 0 / 0
30.05.2010, 20:49
    #36657949
Ципихович Эндрю
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пройтись по всем элементам одного типа
Shocker.Pro, если под меткой Вы подразумеваете лейбл то так
Панель управления
Элементы управления
Выбираю Кнопка жму на неё появляется в месте где был курсор
Если про другую метку уточните какую
...
Рейтинг: 0 / 0
30.05.2010, 20:52
    #36657950
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пройтись по всем элементам одного типа
Ципихович Эндрюизвините а как будет пройтись по лейблам
Ципихович ЭндрюВыбираю Кнопка жму на неё появляется в месте где был курсор
Что такое "лэйбл" в вашем понимании?
...
Рейтинг: 0 / 0
30.05.2010, 20:58
    #36657956
Ципихович Эндрю
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пройтись по всем элементам одного типа
Shocker.Pro, если под меткой Вы подразумеваете лейбл то так
Панель управления
Элементы управления
Выбираю Кнопка жму на неё появляется в месте где был курсор
Если про другую метку уточните какую
...
Рейтинг: 0 / 0
30.05.2010, 21:02
    #36657960
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пройтись по всем элементам одного типа
Ципихович Эндрю,

то есть под "лэйблом" вы подразумеваете кнопку, я правильно понял?
...
Рейтинг: 0 / 0
30.05.2010, 21:06
    #36657962
Ципихович Эндрю
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пройтись по всем элементам одного типа
Ципихович Эндрю, извиняюсь мало того что два раза написалось, видимо ткнул на кнопку лишнего но ещё и неправильно надо читать так
Выбираю Надпись жму на неё он, Label появляется в месте где был курсор
Если про другую метку уточните какую
...
Рейтинг: 0 / 0
30.05.2010, 21:09
    #36657964
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пройтись по всем элементам одного типа
Ципихович ЭндрюЦипихович Эндрю, извиняюсь мало того что два раза написалось, видимо ткнул на кнопку лишнего но ещё и неправильно надо читать так
Выбираю Надпись жму на неё он, Label появляется в месте где был курсор
Если про другую метку уточните какую

Label(анл.)=Метка(рус.)

Пока нашел только прямое обращение
ThisDocument.Label1.ForeColor=255

ищу дальше...
...
Рейтинг: 0 / 0
30.05.2010, 21:19
    #36657974
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пройтись по всем элементам одного типа
Перебирайте коллекцию
Код: plaintext
ThisDocument.Fields

Имя:
Код: plaintext
ThisDocument.Fields(i).OLEFormat.Object.Name
Цвет:
Код: plaintext
ThisDocument.Fields(i).OLEFormat.Object.ForeColor
...
Рейтинг: 0 / 0
31.05.2010, 07:07
    #36658254
Ципихович Эндрю
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пройтись по всем элементам одного типа
Shocker.Pro, из Вами сказанного я сделал вывод, что это будет так:
For i = 1 To 3
ActiveDocument.OLEFormat.Object.Name("Label" + CStr(i)).BackColor = 255
Next
Но увы не получается, что не так?
...
Рейтинг: 0 / 0
31.05.2010, 08:05
    #36658273
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пройтись по всем элементам одного типа
Ципихович ЭндрюShocker.Pro, из Вами сказанного я сделал вывод

Вы сделали очень странный вывод, который никак не следует из того, что я сказал.
Обратиться по имени элемента к этой коллекции нельзя, только по индексу.
Поэтому перебираете всю коллекцию:
Код: plaintext
For i=1 To ThisDocument.Fields.Count
если имя элемента вас удовлетворяет, делаете над элементом нужные действия.
...
Рейтинг: 0 / 0
27.06.2010, 17:50
    #36710307
Foxter
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пройтись по всем элементам одного типа
Shocker.Pro
Код: plaintext
1.
2.
For i =  1  To  5 
  Me.Controls("Label" + CStr(i)).BackColor =  255 
Next


А не подскажите, с переменными такой фокус не получиться (RS1, RS2 ...)?
...
Рейтинг: 0 / 0
27.06.2010, 21:47
    #36710415
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пройтись по всем элементам одного типа
FoxterА не подскажите, с переменными такой фокус не получиться (RS1, RS2 ...)?
нет, но кто мешает завести массив или коллекцию?
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Пройтись по всем элементам одного типа / 17 сообщений из 17, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]