
- •Лабораторна робота №3-4. Тема: Елементи управління: списки та лічильники.
- •Відображення списку за допомогою елементу ListBox
- •Редагування елементів списку під час створення форми
- •Редагування елементів списку під час роботи програми
- •Додавання елементів в список.
- •Видалення елементів із списку
- •Створення випадних списків з допомогою елементу управління ComboBox
- •Елемент управління CheckedListBox
- •Зовнішній вигляд елементу управління
- •Зовнішній вигляд елементу управління
- •Приклад
- •Повзунок TrackBar
- •Value – задає чи визначає поточне розташування повзунка.
- •Варіанти індивідуальних завдань
- •Приклад оформлення додатку «Онлайн ресторан»
Створення випадних списків з допомогою елементу управління ComboBox
Списки ListBox зручні, але у них є два недоліки. По-перше, вони займають багато місця. По-друге, користувачі не можуть вводити власні значення, а повинні вибирати серед елементів списку. Якщо треба заощадити місце або дозволити користувачеві вводити значення, яке може не міститися в списку, використовуйте елемент управління ComboBox (комбінований список).
У комбінованого списку ComboBox є колекція Items, така ж, як і у списку ListBox.
ComboBox існує в трьох варіантах. Розглянемо їх в міру ускладнення.
ComboBox (варіант «Список, що розкривається»). Варіант елементу Combobox визначається значенням його властивості DropDownStyle. Виберіть варіант DropDownList - «Список, що розкривається». Заповніть Combobox так само, як ви заповнювали список Listbox. Для прискорення заповнення ви можете просто скопіювати в його Редактор строкових колекцій весь вміст Редактора строкових колекцій вже готового списку Listbox1. Запустіть проект. У лівій частині малюнка ви бачите закритий список, що розкривається.
Клацніть по чорній трикутній стрілці в правій частині списку. Список розкриється і виглядатиме так, як в правій частині малюнку. Тепер ви зможете вибрати з нього будь-який елемент так само, як ви вибирали елементи із списку ListBox. Вибраний елемент з'являється в текстовому полі нагорі списку. У даному варіанті ComboBox редагувати (вручну змінювати) текстове поле ми не можемо.
ComboBox (варіант «Простий ComboBox»). Помістіть на формі ComboBox. У його властивості DropDownStyle виберіть варіант Simple – «Простий». Заповніть ComboBox. Запустіть проект. ComboBox виглядає так:
Він не згортається на відміну від списку, що розкривається, зате його текстове поле можна редагувати.
ComboBox (варіант «ComboBox, що розкривається»). ComboBox, що розкривається, об'єднує в собі переваги двох інших варіантів ComboBox: він виглядає так само компактно, як список, що розкривається, і дозволяє редагувати текстове поле, як простий ComboBox. Значення його властивості DropDownStyle рівне DropDown.
Перше, на що ви звернете увагу - це те, що у комбінованого списку ComboBox є властивість Text, на відміну від звичайного списку ListBox. Ця властивість працює так само, як і властивість Text для текстового поля. Коли користувач вибирає елемент з випадного списку, значення вибраного елементу поміщається в властивість Text текстового поля. За замовчанням користувач може ввести будь-який текст в текстове поле комбінованого списку - навіть якщо цього тексту немає в списку.
Наведемо приклад програми де використовується властивість комбінованого списку Text. Цей найпростіший додаток буде відображати список тварин користувача в списку, що розвертається. Коли користувач клацає на кнопці, додаток відображатиме кількість ніг у вибраної із списку тварини (птах, кінь, кішка, собака, змія, сороконіжка) у вікні повідомлення. Для цього потрібно на форму нанести комбінований список та кнопку, потім добавити перелік тварин в список та написати код для кнопки. Інтерфейс додатку буде виглядати так:
Добавимо в подію Click для кнопки такий код:
Select Case ComboBox1.Text
Case Is = "Птах"
MsgBox("Тварина має дві ноги")
Case Is = "Кінь", "Кішка", "Собака"
MsgBox("Тварина має чотири ноги")
Case Is = "Змія"
MsgBox("Тварина не має ніг")
Case Is = "Сороконіжка"
MsgBox("Тварина має сорок ніг")
Case Else
MsgBox("Тварина не вибрана із списку")
End Select
Виберіть властивість Items комбінованого списку у вікні Properties і клацніть на кнопці, яка з'явиться. Додайте наступні елементи в редактор String Colleсtiоn і клацніть на кнопці ОК, щоб підтвердити введення даних:
• Black;
• Blue;
• Gold;
• Green;
• Red;
• Yellow.
Натисніть <F5>, щоб запустити проект. Клацніть на стрілці в правій частині комбінованого списку, з'явиться випадний список:
Потім спробуйте ввести текст Magenta. Visual Basic дозволить вам це зробити. Насправді, ви можете ввести будь-який текст, який захочете. Проте часто потрібне обмежити введення користувача лише тими значеннями, які присутні в списку.
Для цього необхідно змінити властивість комбінованого списку DropDownStyle. Закрийте форму, щоб зупинити роботу проекту, і поміняйте властивість DropDownStyle комбінованого списку на DropDownList. Натисніть <F5>, щоб знову запустити проект і спробуйте надрукувати текст в текстовому полі комбінованого списку. Ви не можете це зробити, але якщо ви введете символ, з якого починається один з пунктів списку, то буде вибраний найближчий відповідний елемент списку.
Клацання на текстовому полі комбінованого списку відкриває список так само, як і при клацанні на стрілці в його правій частині. Якщо вибрана властивість DropDownList, то користувачеву не дозволяється вводити будь-який текст, і він винен вибрати елементи із списку.
Зручна робота із списком. У більшості реальних проектів вам потрібно не просто щось вибрати із списку, але і мати можливості для зручної зміни списку: додавання, видалення, зміни і перестановки його елементів.
Створимо проект. Розмістимо на формі простий список або ComboBox і 4 кнопки для різноманітної роботи з його списком. Ось функції кнопок:
Кнопка «Видалення» видаляє вибраний елемент із списку
Кнопка «Додати» додає вміст текстового поля списку в список (зручно для швидкого внесення доповнень до списку
Кнопка «Переставити в кінець» переставляє вибраний елемент в кінець списку (зручно для довільного пересортовування списку)
Кнопка «Виправити» замінює вибраний елемент вмістом текстового поля списку (зручно для виправлень в написанні елементу)
Ось так виглядає код створюваного додатка
Dim Номер As Integer 'Номер вибраного елементу в списку
Private Sub Видалення(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Видалення.Click
ComboBox1.Items.Remove(ComboBox1.SelectedItem)
End Sub
Private Sub Додати(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Додати.Click
If ComboBox1.Text <> "" Then ComboBox1.Items.Add(ComboBox1.Text) 'Якщо в полі не порожньо, то ...
End Sub
Private Sub Переставити(ByVal sender As System.Object, ByVal e As System.EventArgs) _
Handles Переставити.Click
ComboBox1.Items.Add(ComboBox1.Text) Спочатку добавляємо в кінець,
ComboBox1.Items.Remove(ComboBox1.SelectedItem) 'а потім видаляємо з попереднього місця
End Sub
Private Sub Виправити(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Виправити.Click
ComboBox1.Items.RemoveAt(Номер) 'Спочатку видаляємо старий елемент,
ComboBox1.Items.Insert(Номер, ComboBox1.Text) 'а потім на його месце вставляєм текст із поля
End Sub
Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) _
Handles ComboBox1.SelectedIndexChanged
Номер = ComboBox1.SelectedIndex
End Sub