Индексированные элементы управления — страница 2
образом, последняя кнопка - кнопка с наименьшей цифрой. Долго ... Если писать обработчик щелчка по кнопке Command1, то может получится так: Private Sub Command1_Click() If Command1.Caption < Command2.Caption Then End If Command1.Caption < Command3.Caption Then End If Command1.Caption < Command4.Caption Then End If Command1.Caption < Command5.Caption Then End If Command1.Caption < Command6.Caption Then End If Command1.Caption < Command7.Caption Then End If Command1.Caption < Command8.Caption Then End If Command1.Caption < Command9.Caption Then End ' если цифра кнопки больше или равна каждой другой, то выбрали нужную! Command1.Visible = False ' надпись минус один - чтобы уже "невидимая" не мешала выбору нужной среди видимых! Command1.Caption = -1 End Sub Для "второй" кнопки: Private Sub Command2_Click() If Command2.Caption < Command1.Caption Then End If Command2.Caption < Command3.Caption Then End If Command2.Caption < Command4.Caption Then End If Command2.Caption < Command5.Caption Then End If Command2.Caption < Command6.Caption Then End If Command2.Caption < Command7.Caption Then End If Command2.Caption < Command8.Caption Then End If Command2.Caption < Command9.Caption Then End Command2.Visible = False Command2.Caption = -1 End Sub Для следующих программные коды аналогичны. Однако, для проверки приведу обработчик для "последней" кнопки: Private Sub Command9_Click() If Command9.Caption < Command1.Caption Then End If Command9.Caption < Command2.Caption Then End If Command9.Caption < Command3.Caption Then End If Command9.Caption < Command4.Caption Then End If Command9.Caption < Command5.Caption Then End If Command9.Caption < Command6.Caption Then End If Command9.Caption < Command7.Caption Then End If Command9.Caption < Command8.Caption Then End Command9.Visible = False Command9.Caption = -1 End Sub Получилось довольно громоздко. Тем не менее, программный код удовлетворяет поставленной задаче. Быстро! Чтобы реализовать другой подход необходимо изменить свойство Index у всех кнопок следующим образом ... Измените свойство Index у кнопки Command1 на 0. У кнопки Command2 имя на Command1, причём вам надо будет положительно ответить на предлагаемый вопрос среды разработки. Выполните последнее указание для всех других кнопок. У меня заняло меньше времени выполнить то, что я вам описал выше. Такие приготовления нам были просто необходимы, потому что программный код будет совсем другим! Вот его листинг: 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 Кб соответственно). Однако, более подробные объяснения как создавать и обращаться к массивам элементов управления изложим на следующем примере и после него. Пример второй или "спички детям - не игрушка!" Представьте, перед вами выложили два коробка, один из которых пустой, а другой наполнен спичками. Далее вам предлагают выбрать любой из них. Если вы выберите из двух пустой коробок, то вы выиграли, в противном случае - к двум имеющимся добавят ещё один
Похожие работы
- Рефераты
- Рефераты