Вопрос по массивам контролов

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

Вопрос по массивам контролов

Сообщение DR_DEST » 18.04.2003 (Пт) 16:52

У меня на форме лежит кнопка, которую я хочу размножить. Свойство индекс установлено в 0.
Далее в модуле класса я объявляю переменную типа CommandButton и пытаюсь присвоить ей ccылку через Form.Controls("Command1").
Ругается 73-ей.

Я пытался объявлять переменную как массив, но это все до одного места.

Неужели на массив элементов через Controls нельзя сослаться (мало того, что его нельзя с WithEvents объявить так еще и такого западля не хватало)

Help :?:

GoGosha
Постоялец
Постоялец
 
Сообщения: 642
Зарегистрирован: 02.08.2002 (Пт) 9:14
Откуда: Russia

Re: Вопрос по массивам контролов

Сообщение GoGosha » 18.04.2003 (Пт) 18:05

DR_DEST писал(а):У меня на форме лежит кнопка, которую я хочу размножить. Свойство индекс установлено в 0.
Далее в модуле класса я объявляю переменную типа CommandButton и пытаюсь присвоить ей ccылку через Form.Controls("Command1").
Ругается 73-ей.

Я пытался объявлять переменную как массив, но это все до одного места.

Неужели на массив элементов через Controls нельзя сослаться (мало того, что его нельзя с WithEvents объявить так еще и такого западля не хватало)

Help :?:


Form.Controls имеет тип Object и поэтому либо надо Form.Controls("Command")(Индекс) или переменную типа Variant или Object

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 19.04.2003 (Сб) 10:37

Индексированные контролы "размножаются" намного проще (как кролики :) )
Если у тебя есть cmdButton(0), то так:
Код: Выделить всё
For I = 1 To 5
  Load cmdButton(I)
  With cmdButton(I)
    .Top = cmdButton(I-1).Top + cmdButton(I-1).Height + 60
    .Enabled = True
    .Visible = True
  End With
Next I


А помирают они, как мухи, через Unload cmdButton(I).
Lasciate ogni speranza, voi ch'entrate.


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

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 57

    TopList