Читайте также:
|
|
Список (ListBox)
Поместите на форму список. Его имя - List1. Заполните список. Для этого зайдите в его свойство List и введите слово "Динамо" - первый элемент списка, после чего нажмите Ctrl-Enter. Теперь введите слово "Спартак" - второй элемент списка, нажмите Ctrl-Enter. И так далее. Запустите проект. Пощелкайте по элементам списка.
Если все элементы списка не умещаются в его видимом пространстве, то у списка автоматически возникает полоса прокрутки. А кнопку "Печать" я поместил на форму вот для чего:
Задача: Пусть вам нужно напечатать текст "Следующим соперником нашей команды будет команда …". На месте многоточия должно стоять название команды, выбранной вами из списка. Запустив проект, вы щелчком мыши выбираете нужную команду (на картинке выбран Спартак), а затем нажатием на кнопку печатаете текст.
Вот программа:
Private Sub Command1_Click()
Debug.Print "Следующим соперником нашей команды будет команда "; List1.Text
End Sub
Свойство Text списка List1 - это значение выбранного элемента списка List1. Пощелкайте по элементам списка, после каждого щелчка нажимая кнопку "Печать". Итак, мы нашли одно из применений списка: он облегчает ввод в компьютер часто встречающихся слов.
ComboBox (вариант "Раскрывающийся список")
ComboBox - это обогащенный новыми возможностями ListBox. Он существует в трех вариантах. Рассмотрим их по мере усложнения.
Поместите на форму ComboBox. Его имя - Combo1. Вариант ComboBox определяется значением его свойства Style. Выберите вариант Dropdown List - "Раскрывающийся список". Заполните ComboBox так же, как вы заполняли список ListBox. Запустите проект. Список выглядит так:
Щелкните по черной треугольной стрелке в правой части списка. Список раскроется и вы сможете выбрать из него любой элемент так же, как вы выбирали элементы из списка ListBox. Программа для ComboBox также будет совершенно аналогична программе для ListBox.
Private Sub Command2_Click()
Debug.Print "Следующим соперником нашей команды будет команда "; Combo1.Text
End Sub
Как видите, преимуществом раскрывающегося списка перед обычным является экономия места на форме.
ComboBox (вариант "Простой Combo")
Поместите на форму ComboBox (а проще - скопируйте старый). В его свойстве Style выберите вариант Simple Combo- "Простой Combo". Заполните ComboBox так же, как вы заполняли список ListBox. Запустите проект. Combo выглядит так:
Отличие ComboBox от ListBox в том, что сверху от списка имеется текстовое поле. Пока не вводите туда ничего, а просто выбирайте элементы из списка и печатайте, как в проекте с ListBox. Все получается по-старому. Зачем же нужно текстовое поле? А затем, что если вам вдруг понадобится распечатать команду, которой нет в списке, вы всегда можете ввести ее в текстовое поле и нажать кнопку печати.
Вариант "Раскрывающийся список" тоже имеет наверху текстовое поле, только вводить туда ничего нельзя.
ComboBox (вариант "Раскрывающийся Combo")
Раскрывающийся Combo объединяет в себе преимущества двух других вариантов ComboBox: он выглядит так же компактно, как раскрывающийся список, и позволяет редактировать текстовое поле, как простой Combo.
Свойства, события и методы элементов управления ListBox и ComboBox.
Все примеры, приведенные здесь относительно ListBox, относятся также и к любому варианту ComboBox.
Элементы списков нумеруются с нуля.
Оператор | Смысл |
List1.AddItem"Бавария" | В конец списка List1 метод AddItem добавляет элемент Бавария |
List1.AddItem "Боруссия", 3 | Метод AddItem добавляет элемент Боруссия на место №3 в список List1. |
List1.RemoveItem4 | Метод RemoveItem удаляет элемент №4 из списка List1. |
List1.Clear | Опустошить список List1 |
Debug.Print List1.Text | Напечатать значение выбранного элемента в списке List1 |
Debug.Print Combo1.Text | Напечатать значение текстового поля из ComboBox |
Debug.Print List1.List(5) | Напечатать значение элемента №5 в списке List1 |
List1.List(0) = "Барселона" | Присвоить элементу №0 в списке List1 значение Барселона |
Debug.Print List1.ListIndex | Напечатать номер выбранного элемента в списке List1. Если элемент не выбран, то печатается -1. |
Debug.Print List1.ListCount | Напечатать количество элементов в списке List1 |
Если вы хотите, чтобы элементы списка были отсортированы по алфавиту, то в режиме проектирования установите в True свойство Sorted. В режиме работы его менять нельзя. Сортировка нарушится, если вы будете использовать метод AddItem с индексом. Не забывайте, что сортировка - текстовая, а не числовая, поэтому 28 будет стоять выше, чем 5.
У ListBox есть некоторые преимущества перед ComboBox: он может состоять из нескольких столбцов и допускает множественный выбор. Но на этом мы останавливаться не будем.
Щелчок или двойной щелчок по элементу списка вызывают, как водится, события Click и DblClick.
Задача: Создать на форме простой Combo и 5 кнопок для разнообразной работы с его списком. Вот функции кнопок:
· Кнопка "Печать" распечатывает содержимое текстового поля Combo
· Кнопка "Удаление" удаляет выбранный элемент из списка
· Кнопка "Добавить" добавляет содержимое текстового поля в список (удобно для быстрого внесения дополнений в список)
· Кнопка "Перестановка" переставляет выбранный элемент в конец списка (удобно для произвольной сортировки списка)
· Кнопка "Заменить" заменяет выбранный элемент содержимым текстового поля (удобно для небольших исправлений в написании элемента)
Кроме этого, элемент должен распечатываться двойным щелчком.
Попробуйте выполнить это задание самостоятельно. Если не получится, то вот программа:
Dim номер As String 'Номер выбранного элемента в списке
Private Sub Печать_Click()
Debug.Print Combo1.Text
End Sub
Private Sub Удаление_Click()
Combo1.RemoveItem Combo1.ListIndex
End Sub
Private Sub Добавить_Click()
Combo1.AddItem Combo1.Text
End Sub
Private Sub Перестановка_Click()
Combo1.AddItem Combo1.Text
Combo1.RemoveItem Combo1.ListIndex
End Sub
Private Sub Заменить_Click()
Combo1.List(номер) = Combo1.Text
End Sub
Private Sub Combo1_Click()
номер = Combo1.ListIndex
End Sub
Private Sub Combo1_DblClick()
Печать_Click
End Sub
Задание 123-1: " Англо-русский словарь ". Поместите на форму два раскрывающихся списка. В левый запишите несколько десятков английских слов и упорядочте их по алфавиту. В правый запишите в том же порядке переводы этих слов на русский. При выборе слова в левом списке в правом должен появляться перевод.
Дата добавления: 2015-11-16; просмотров: 62 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Slider, ProgressBar | | | Знакомство с другими элементами управления |