Реферат: Индексированные элементы управления
Command9.Caption = -1
End Sub
Получилось довольно громоздко. Тем не менее, программный код удовлетворяет поставленной задаче.
Быстро!
Чтобы реализовать другой подход необходимо изменить свойство Index у всех кнопок следующим образом ...
Измените свойство Index у кнопки Command 1 на 0. У кнопки Command 2 имя на Command 1 , причём вам надо будет положительно ответить на предлагаемый вопрос среды разработки. Выполните последнее указание для всех других кнопок.
У меня заняло меньше времени выполнить то, что я вам описал выше.
Такие приготовления нам были просто необходимы, потому что программный код будет совсем другим! Вот его листинг:
Private Sub Form_Load()
For i = 0 To 8
Command1(i).Caption = Int(9 * Rnd)
Next i
End Sub
Private Sub Command1_Click(Index As Integer)
For i = 0 To 8
If Command1(Index).Caption < Command1(i).Caption Then End
Next i
Command1(Index).Visible = False
Command1(Index).Caption = -1
End Sub
Если вы предположите, что объём проекта первого подхода больше, чем при другом подходе, то будете совершенно правы (8,71 Кб и 4,25 Кб соответственно).
Однако, более подробные объяснения как создавать и обращаться к массивам элементов управления изложим на следующем примере и после него.
Пример второй
или
"спички детям - не игрушка!"
Представьте, перед вами выложили два коробка, один из которых пустой, а другой наполнен спичками. Далее вам предлагают выбрать любой из них. Если вы выберите из двух пустой коробок, то вы выиграли, в противном случае - к двум имеющимся добавят ещё один спичечный коробок и перемешают их тайным для вас образом. После выбора пустого коробка среди трёх, перед вами окажется два, иначе - добавят ещё один и таким же методом. Игра оканчивается не в вашу пользу, если число коробков превысит девяти.
Представим данную программу в виде приложения! Для разнообразия, используем инструмент Label (метка). Разместим выбранный инструмент на форме ближе к левому краю. Ширина брошенной метки должна быть в десять-одиннадцать раз меньше ширины максимизированного окна. Свойство Index равно единице.
Свойство BackColor должно выделять всю метку. Свойство Caption лучше изменить.
Ещё моя задумка не заставит вас утруждаться над созданием остальных девяти меток, поскольку они будут мгновенно созданы при открытии приложения:
Private Sub Form_Load()
For i = 2 To 10
Load Label1(i) ' добавляем ещё девять меток
Next i