VB.Net ComboBox Керуйте за допомогою ПРИКЛАДУ
⚡ Розумний підсумок
ComboBox у VB.Net є Windows Елемент керування «Форми», який поєднує текстове поле з випадаючим списком, дозволяючи користувачеві вибрати один елемент або ввести його, заощаджуючи місце на формі.
Що таке Combobox Control?
Елемент керування списком допомагає відобразити розкривний список із багатьма елементами. Розгляньте це як комбінацію текстового поля, у яке користувач вводить текст, і розкривного списку, з якого користувач вибирає елемент. Зауважте, що поле зі списком відображає один елемент за раз.
Створення Combobox
КомбоBox можна створити наступним чином:
Крок 1) Створіть нову програму.
Крок 2) Перетягніть елемент керування зі списком з панелі інструментів на форму.
Ви створили елемент керування списком.
Додавання елементів до Combobox
Тепер, коли ми створили поле зі списком, давайте продемонструємо, як до нього додавати елементи.
Double клацніть елемент керування зі списком, який ви додали. Ви переміститеся з вкладки дизайну на вкладку з кодом.
Щоб додати елемент до елемента керування списком, ми використовуємо властивість Items. Давайте продемонструємо це, додавши два елементи до списку, Чоловічий і Жіночий:
ComboBox1.Items.Add("Male") ComboBox1.Items.Add("Female")
Ми також можемо вибрати додавання елементів до списку зі списком під час розробки з вікна «Властивості». Ось кроки:
Крок 1) Відкрийте вкладку конструктора та клацніть елемент керування вибраним списком.
Крок 2) Перейдіть до вікна «Властивості» та перегляньте опцію «Елементи».
Крок 3) Натисніть на …, розташований праворуч від (Колекція).
Крок 4) Ви побачите нове вікно. Тут вам слід додати елементи до випадаючого списку, як показано нижче:
Крок 5) Після завершення з typing елементи, натисніть кнопку OK.
Крок 6) Натисніть кнопку «Пуск» на верхній панелі інструментів і натисніть значок розкривного списку у випадаючому списку.
Елементи успішно додано до елемента керування списком.
Вибір елементів поля зі списком
Можливо, вам знадобиться встановити елемент за замовчуванням, який буде вибрано під час завантаження форми. Ви можете досягти цього за допомогою методу SelectedItem(). Наприклад, щоб встановити вибрану стать за замовчуванням на Чоловічу, ви можете використати такий оператор:
ComboBox1.SelectedItem = "Male"
Коли ви запускаєте код, поле зі списком має виглядати, як показано нижче:
Отримання значень Combobox
Ви можете отримати вибраний елемент зі свого вибраного списку. Це можна зробити за допомогою властивості text. Давайте продемонструємо це на нашому вибраному списку вище з двома елементами, тобто чоловічим та жіночим. Виконайте наведені нижче кроки:
Крок 1) Double Клацніть поле зі списком, щоб відкрити вкладку з кодом VB.Net.
Крок 2) Додайте наступний код:
Public Class Form1 Private Sub ComboBox1_SelectedIndexChanged(sd As Object, evnt As EventArgs) Handles ComboBox1.SelectedIndexChanged Dim var_gender As String var_gender = ComboBox1.Text MessageBox.Show(var_gender) End Sub End Class
Крок 3) Натисніть кнопку «Пуск» на панелі інструментів, щоб виконати код. Ви повинні отримати наступну форму:
Крок 4) Натисніть кнопку випадаючого списку та виберіть свою стать. У моєму випадку я вибираю Чоловік, і отримую наступне:
Ось скріншот коду:
Пояснення Code:
- Створення класу з іменем Form1. Клас буде загальнодоступним, оскільки для його модифікатора доступу встановлено значення Public.
- Запуск підпроцедури з назвою ComboBox1_SelectedIndexChanged. Це генерується автоматично, коли ви двічі клацнете на елементі керування випадаючим списком на вкладці конструктора. Ця підпроцедура буде викликана, коли ви виберете елемент зі випадаючого списку. Об'єкт sd As посилається на об'єкт, який викликав подію, тоді як evnt As EventArgs містить дані події.
- Створення рядкової змінної з назвою var_gender.
- Встановлення значення змінної var_gender для елемента, вибраного у списку.
- Виведення значення змінної var_gender у повідомленняBox.
- Кінець комбоBoxПідпроцедура 1_SelectedIndexChanged.
- Кінець класу Form1.
Видалення елементів Combobox
Ви можете видалити елемент зі списку. Є два способи, якими ви можете досягти цього. Ви можете використовувати або індекс елемента, або назву елемента.
Використовуючи індекс елемента, ви повинні використовувати властивість Items.RemoveAt(), як показано нижче:
ComboBox1.Items.RemoveAt(1)
У наведеному вище прикладі ми видаляємо елемент, розташований під індексом 1 списку. Зауважте, що індекси поля зі списком починаються з індексу 0, тобто наведена вище команда видалить другий елемент поля зі списком.
Щоб видалити елемент, використовуючи його ім’я, слід використати властивість Items.Remove(), як показано нижче:
ComboBox1.Items.Remove("Female")
Наведений вище код має видалити елемент із назвою Female із комбоBox1.
Прив’язка джерела даних
КомбоBox можна заповнити з набору даних. Розглянемо запит SQL, поданий нижче:
select emp_id, emp_name from employees;
Ви можете створити джерело даних у програмі, а потім використати такий код, щоб зв’язати його:
comboBox1.DataSource = ds.Tables(0) comboBox1.ValueMember = "emp_id" comboBox1.DisplayMember = "emp_name"
Це забезпечить вам простий спосіб заповнення елемента керування списком без необхідності вводити кожен окремий елемент.
Подія SelectedIndexChanged
Часто вам знадобиться, щоб ваша програма реагувала в той момент, коли користувач вибирає нове значення.
Цей тип події викликається, коли ви змінюєте вибраний елемент у списку. Це подія, яку ви повинні використовувати, коли вам потрібно виконати дію після зміни вибраного елемента списку. Продемонструємо це на прикладі:
Крок 1) Створіть новий Windows Форми заявки.
Крок 2) Після цього вам потрібно перетягнути два елементи керування зі списком у форму.
Крок 3) Double клацніть усередині форми, щоб відкрити вкладку для коду. Введіть наступний код:
Public Class Form1 Private Sub Form1_Load(sd As Object, evnt As EventArgs) Handles MyBase.Load ComboBox1.Items.Add("Males") ComboBox1.Items.Add("Females") End Sub Private Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox1.SelectedIndexChanged ComboBox2.Items.Clear() If ComboBox1.SelectedItem = "Males" Then ComboBox2.Items.Add("Nicholas") ComboBox2.Items.Add("John") ElseIf ComboBox1.SelectedItem = "Females" Then ComboBox2.Items.Add("Alice") ComboBox2.Items.Add("Grace") End If End Sub End Class
Крок 4) Натисніть кнопку «Пуск» у верхній панелі, щоб запустити код. Ви повинні отримати наступний результат:
Крок 5) Натисніть кнопку випадаючого списку на першому випадаючому списку та виберіть «Чоловік». Перемістіть курсор миші на другий випадаючий список та натисніть кнопку випадаючого списку. Перегляньте доступні елементи:
Крок 6) Перейдіть до першого випадаючого списку та виберіть жінкаПерейдіть до другого випадаючого списку та перегляньте доступні елементи:
Ось скріншот коду:
Пояснення Code:
- Створення класу з іменем Form1.
- Початок підпроцедури з назвою Form1_Load(). Вона буде запущена після завантаження форми. Об'єкт sd As посилається на об'єкт, який викликав подію, тоді як evnt As EventArgs містить дані події.
- Додавання предмета Самці до КомбоBox1.
- Додавання предмета Females до ComboBox1.
- Кінець підпроцедури Form1_Load().
- Початок підпроцедури під назвою ComboBox1_SelectedIndexChanged(). Це буде викликано, коли буде вибрано елемент у першому списку. Відправник As Object посилається на об’єкт, який викликав подію, тоді як e As EventArgs містить дані події.
- Зробіть комбоBox2 порожній, очистіть з нього всі елементи.
- Створення умови. Перевірка на наявність вибраного елемента на ComboBox1 - чоловіки.
- Додайте предмет Миколая до комбоBox2, коли зазначена вище умова справджується, тобто предмет вибрано в ComboBox1 - чоловік.
- Додайте предмет John до ComboBox2, коли зазначена вище умова справджується, тобто предмет вибрано в ComboBox1 - чоловіки.
- Створення умови. Перевірка на наявність вибраного елемента на ComboBox1 - жінки.
- Додайте предмет Аліса до комбоBox2, коли зазначена вище умова справджується, тобто предмет вибрано в ComboBox1 - жінки.
- Додайте до комбо предмет ГраціяBox2, коли зазначена вище умова справджується, тобто предмет вибрано в ComboBox1 - жінки.
- Кінець блоку If.
- Кінець комбоBoxПідпроцедура 1_SelectedIndexChanged().
- Кінець класу Form1.













