Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - VBA

Страница: 1 |

 

  Вопрос: Как перебрать Textbox'ы - Textbox4...Textbox28? Добавлено: 19.03.07 10:40  

Автор вопроса:  LonerWanderer
Есть массив, данные из которого вносятся в textbox'ы на форме.
Нужно заполнить текстбоксы следующим образом:
Textbox4.value=Klemmy(1, 3),
Textbox5.value=Klemmy(2, 3)
...
Textbox28.value=Klemmy(25, 3)
Следующий код не работает:

For n = 1 To 25
   TextBox(n + 3).Value = Klemmy(n, 3)
Next n

Можно ли как-нибудь по-другому обратиться к Textbox(N)?

Ответить

  Ответы Всего ответов: 11  

Номер ответа: 1
Автор ответа:
 VoVaN



ICQ: 4921085 

Вопросов: 27
Ответов: 38
 Профиль | | #1 Добавлено: 19.03.07 11:00
Есть 2 способа:
1. Создать массив текстбоксов. Для этого им всем надо присвоить одно и то же имя (например, Textbox4). Тогда код будет такой:
For n = 0 To 24
   TextBox4(n).Value = Klemmy(n + 1, 3)
Next n


2. Работа с объектом Control. Но это лучше посмотреть в примерах, т. к. я не помню

Ответить

Номер ответа: 2
Автор ответа:
 LonerWanderer



Вопросов: 18
Ответов: 66
 Профиль | | #2 Добавлено: 19.03.07 11:18
Хм. А как создать массив?
На переименование textbox4 в textbox4(0) - ошибка
textbox5 в textbox4 - тоже ошибка.

Ответить

Номер ответа: 3
Автор ответа:
 LonerWanderer



Вопросов: 18
Ответов: 66
 Профиль | | #3 Добавлено: 19.03.07 11:25
Вот что написано здесь в разделе
Библиотека кодов - Работа с контролами - Добавить контрол во время выполнения программы:


Добавьте TextBox на форму
В свойствах TextBox'а измените Index на 0
Этот пример покажет, как добавить TextBox'ы во время выполнения программы
Вы получите новый TextBox под именем Text1(1).

Но может это написано для VB? У меня в VBA нет свойства INDEX у TEXTBOX.

Ответить

Номер ответа: 4
Автор ответа:
 bi-lya



Вопросов: 1
Ответов: 125
 Профиль | | #4 Добавлено: 19.03.07 12:31
Массив контролов создается через WithEvents класса.
Посмотрите здесь: http://www.dimit.pochta.ru/wopr.html#2
Проверил - ваш пример работает

Ответить

Номер ответа: 5
Автор ответа:
 LonerWanderer



Вопросов: 18
Ответов: 66
 Профиль | | #5 Добавлено: 19.03.07 13:02
Спасибо за ссылку. Будем пробовать.

Ответить

Номер ответа: 6
Автор ответа:
 bi-lya



Вопросов: 1
Ответов: 125
 Профиль | | #6 Добавлено: 19.03.07 13:30
Извиняюсь, поправочка (зациклился на своей задаче) - WithEvents в вашем случае не нужен, просто объявляется в классе Public-переменная MSForms

Ответить

Номер ответа: 7
Автор ответа:
 vidxr



Вопросов: 2
Ответов: 5
 Профиль | | #7 Добавлено: 28.03.07 14:35
For i = n1 To n2
  chkName = "TextBox" + CStr(i)
  Me.Controls(chkName).Value="fghgfh"
  ....

Ответить

Номер ответа: 8
Автор ответа:
 KreAtoR



Вопросов: 120
Ответов: 438
 Профиль | | #8 Добавлено: 28.03.07 15:06
Есть 2 способа:
1. Создать массив текстбоксов. Для этого им всем надо присвоить одно и то же имя (например, Textbox4). Тогда код будет такой:

For n = 0 To 24
   TextBox4(n).Value = Klemmy(n + 1, 3)
Next n



Надо просто Next

Ответить

Номер ответа: 9
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #9 Добавлено: 28.03.07 20:30
Надо просто тебе череп выписать, чтобы нефлудил )

Ответить

Номер ответа: 10
Автор ответа:
 KreAtoR



Вопросов: 120
Ответов: 438
 Профиль | | #10 Добавлено: 29.03.07 10:12
Надо просто тебе череп выписать, чтобы нефлудил )

эт мне штоли???

Ответить

Номер ответа: 11
Автор ответа:
 bi-lya



Вопросов: 1
Ответов: 125
 Профиль | | #11 Добавлено: 30.03.07 10:57
LonerWanderer, надеюсь, вы уже разобрались со своим вопросом. Если нет - тема от 28.03 "Как отловить событие при смене control-а (textbox)". Ваш случай (как было сказано выше) - без WithEvents ;)

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам