Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Visual_Basic_metodichka.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
2.59 Mб
Скачать

Установка начального значения

Элемент, который должен быть выделен в списке по умолчанию, устанавливается с помощью свойства ListIndex. Предположим, что нужная вам фамилия расположена в представленном на экране списке третьим, и вы хотите, чтобы при открытии формы эта фамилия была выделена по умолчанию. Тогда воспользуйтесь приведенным ниже оператором :

Пример 1:

Combo1.ListIndex=2

Пример 2. Фрагмент программы позволяет ненулевое числовое значение, введенное в текстовую строку ComboBox, поместить в список после нажатия кнопки Соmmand1. Если условие ввода не выполняются, то выдаются соответствующие сообщения. Кроме того, при вводе не допускается повторение элементов в списке.

Private Sub Form_Load()

For i = 1 To 10

Combo1.AddItem i * 100

Next

End Sub

Private Sub Command1_Click()

If Not IsNumeric(Combo1.Text) Then

MsgBox "Элемент не является числом"

Combo1.Text = ""

Combo1.SetFocus

Exit Sub

End If

For i = 1 To Combo1.ListCount

If (Combo1.Text = Combo1.List(i - 1)) Then

MsgBox "Элемент имеется в списке"

Combo1.SetFocus

Exit Sub

End If

Next

Combo1.AddItem Combo1.Text

End Sub

Приведенный способ может быть использован для малых списков. В противном случае целесообразно использовать более эффективные способы поиска, например, половинного деления.

6. Элементы управления специального назначения

  • Полосы прокрутки (элементы типа VscrollBar и HScrollBar);

  • Таймер (элемент типа Timer);

  • Рамка (элемент типа Frame).

6.1. Полосы прокрутки (VscrollBar и HscrollBar)

Принцип работы полос прокрутки чем-то напоминает ползунок регулятора громкости стереосистемы. Они используются для установки параметра, значение которого может меняться в некотором диапазоне – от минимума до максимума. С точки зрения программирования, описываемый элемент управления возвращает числовое значение, которое зависит от положения бегунка, а также от выбранного программистом диапазона чисел.

В Visual Basic предусмотрено два типа полос прокрутки: вертикальная и горизонтальная. В документации они называются как элементы управления типа VscrollBar и HScrollBar соответственно. В рассматриваемых ниже примерах мы пользуемся горизонтальной полосой прокрутки, хотя вся информация относится также и к вертикальной полосе прокрутки. Эти два элемента абсолютно равноправны.

Создание полосы прокрутки

Перед началом работы необходимо определить диапазон вводимых чисел, установив значения свойств Min и Max. Дальнейшая работа с описываемым элементом управления заключается в чтении и установке свойства Value. Значения этих свойств – целые числа, т.е. диапазон их изменений, составляет от – 32768 до +32767.

Изменение величины перемещения

Текущее положение бегунка полосы прокрутки хранится в ее свойстве Value. Значение этого свойства будет изменяться всякий раз при перетаскивании бегунка либо после щелчка на одной из стрелок полосы прокрутки.

При изменении значения свойства Value автоматически возникает событие Change. Следующий фрагмент программы позволяет выводить в текстовом окне Text3 цифровое значение бегунка на полосе прокрутки.

Private Sub VSc1_Change()

Text3.Text = VSc1.Value

End Sub

Величина изменения свойства Value после щелчка на одной из стрелок полосы прокрутки зависит от значения свойства SmallChange. Свойству SmallChange нужно присвоить небольшое значение, чтобы получить плавное перемещение бегунка. По умолчанию ему присвоено значение 1.

Если щелкнуть на свободной части полосы прокрутки (между ползунком и одной из стрелок), значения свойства Value изменится на большую величину, чем после щелчка на одной из стрелок. Оно определяется значением свойства LargeChange. Обычно значение свойства LargeChange составляет 5-10% диапазона изменения свойства Value. Например, при значении Min =0 и Max = 100, целесообразно установить LargeChange=10.

Пример 6.1.1. Изменяя значения полосы прокрутки необходимо отражать текущее значение в текстовом поле.

Private Sub Form_Load()

HScroll1.Min = 0

HScroll1.Max = 100

HScroll1.LargeChange = 10

HScroll1.SmallChange = 1

HScroll1.Value = 50

Text1.Alignment = 2

Text1.FontSize = 20

End Sub

Private Sub HScroll1_Change()

Text1.Text = HScroll1.Value & " км/час"

End Sub

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]