- •Лекція 5. Списки
- •5.1. Види списків. Загальні властивості і методи роботи зі списками
- •5.2. Клас ListBox
- •1. Заповнення списку під час проектування форми (статичне).
- •2. Заповнення списку під час завантаження форми
- •3. Заповнення списку із джерела даних
- •4. Динамічне створення списків
- •6. Заповнення списку файлами з каталогів
- •5.3. Клас ComboBox
- •5.4. Клас CheckedListBox
5.3. Клас ComboBox
Клас ComboBox реалізує випадаючий список, в якому користувач може не тільки вибрати значення із списку, але і ввести своє власне. Клас ComboBox успадковує більшість своїх можливостей від класу ListBox, проте має і власні важливі властивості, наведені в таблиці 5.3.
Як і в ListBox, ці властивості можна задати у вікні властивостей при проектуванні форми або динамічно в коді.
Таблиця 5.3 – Основні властивості ComboBox
-
Властивості
Призначення
DroppedDown
"Розкривається вниз": визначає, чи буде список випадаючим (встановлене за замовчанням)
MaxDropDownltems
Визначає максимальну кількість елементів, яка буде показана в нижній частині спадаючого списку. Допустимі значення - від 1 до 100
MaxLength
Визначає максимальну довжину тексту, який користувач може ввести в ComboBox
Selectedlndex
Визначає індекс виділеного елемента ComboBox. Якщо жоден елемент не виділений, повертається значення -1
Selectedltem
Повертає посилання на об'єкт виділеного елемента ComboBox
SelectedText
Повертає виділений текст в полі редагування ComboBox
SelectionLength
Визначає довжину (в символах) виділеного тексту в полі редагування ComboBox
Style
Дозволяє отримати або встановити стиль ComboBox. Для цієї властивості використовуються значення з переліку ComboBoxStyle
Text
Дозволяє отримати доступ до тексту в полі редагування. При роботі з ComboBox ця властивість використовується частіше всіх інших
Розглянемо приклад використання ComboBox з можливістю додавання елементів у список.
Приклад 5.7.
В цьому прикладі створюється форма, на якій розміщується випадаючий список міст, відсортований за абеткою. Для сортування в коді встановимо властивість comboBox1.Sorted = true. На формі розмістимо два текстових поля і три програмні кнопки. В перше поле буде виводитися назва улюбленого міста, вибрана у списку при натисненні кнопки Вибрати.
Для додавання елементу у список потрібно ввести назву міста в текстове поле списку і натиснути кнопку Додати. При цьому не перевіряється, чи є таке місто у списку і можливе дублювання.
Для пошуку елементу у списку потрібно ввести потрібну назву міста у друге текстове поле і натиснути кнопку Знайти.
Рис. 5.2. Вигляд форми при виконанні
Код форми
namespace Lab4_ComboBox_4.7
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
//Заповнення списку кількома елементами
comboBox1.Items.AddRange(new object[] {"Київ",
"Ахтирка",
"Львів",
"Одеса",
"Харків"});
comboBox1.Sorted = true;
}
private void button1_Click(object sender, EventArgs e)
{
if (comboBox1.Text.Length != 0)
comboBox1.Items.Add(comboBox1.Text);
else
MessageBox.Show("Нічого не введено");
}
private void button2_Click(object sender, EventArgs e)
{
if (comboBox1.Text.Length != 0)
textBox1.Text = comboBox1.Text;
else
MessageBox.Show("Нічого не введено");
}
private void button3_Click(object sender, EventArgs e)
{
int index = comboBox1.FindString(textBox2.Text);
comboBox1.SelectedIndex = index;
if (index == -1)
MessageBox.Show("Елемент не знайдено у списку");
}
}
}
