VB.Net ComboBox Керуйте за допомогою ПРИКЛАДУ

⚡ Розумний підсумок

ComboBox у VB.Net є Windows Елемент керування «Форми», який поєднує текстове поле з випадаючим списком, дозволяючи користувачеві вибрати один елемент або ввести його, заощаджуючи місце на формі.

  • 🎯 Мета: Показати розкривний список, де користувач вибирає або вводить одне значення.
  • ➕ Додати елементи: Заповніть поле зі списком у вікні властивостей або за допомогою Items.Add під час виконання.
  • 🔍 Прочитайте вибірку: Вибраний елемент (SelectedItem), Вибраний індекс (SelectedIndex) та Текст (Text) повертають значення, вибране користувачем.
  • 🗄️ Прив'язка даних: Встановіть DataSource, DisplayMember та ValueMember для завантаження рядків з набору даних.
  • 🔔 Виявлення змін: Подія SelectedIndexChanged спрацьовує щоразу, коли вибраний елемент змінюється.
  • 🤖 Допомога ШІ: GitHub Copilot та Visual Studio IntelliCode написати комбоBox обробники під час введення тексту.

VB.Net ComboBox Контроль

Що таке Combobox Control?

Елемент керування списком допомагає відобразити розкривний список із багатьма елементами. Розгляньте це як комбінацію текстового поля, у яке користувач вводить текст, і розкривного списку, з якого користувач вибирає елемент. Зауважте, що поле зі списком відображає один елемент за раз.

Створення Combobox

КомбоBox можна створити наступним чином:

Крок 1) Створіть нову програму.

Крок 2) Перетягніть елемент керування зі списком з панелі інструментів на форму.

Елемент керування випадаючим списком VB.Net переміщено з панелі інструментів на Windows Форма

Ви створили елемент керування списком.

Додавання елементів до Combobox

Тепер, коли ми створили поле зі списком, давайте продемонструємо, як до нього додавати елементи.

Double клацніть елемент керування зі списком, який ви додали. Ви переміститеся з вкладки дизайну на вкладку з кодом.

Щоб додати елемент до елемента керування списком, ми використовуємо властивість Items. Давайте продемонструємо це, додавши два елементи до списку, Чоловічий і Жіночий:

ComboBox1.Items.Add("Male")
ComboBox1.Items.Add("Female")

Ми також можемо вибрати додавання елементів до списку зі списком під час розробки з вікна «Властивості». Ось кроки:

Крок 1) Відкрийте вкладку конструктора та клацніть елемент керування вибраним списком.

Крок 2) Перейдіть до вікна «Властивості» та перегляньте опцію «Елементи».

Крок 3) Натисніть на …, розташований праворуч від (Колекція).

Додавання елементів до випадаючого списку VB.Net у коді за допомогою методу Items.Add

Вікно властивостей VB.Net, що відкриває редактор колекції елементів зі списком

Крок 4) Ви побачите нове вікно. Тут вам слід додати елементи до випадаючого списку, як показано нижче:

Редактор колекції рядків, що містить елементи вибраного списку чоловічої та жіночої статі

Крок 5) Після завершення з typing елементи, натисніть кнопку OK.

Крок 6) Натисніть кнопку «Пуск» на верхній панелі інструментів і натисніть значок розкривного списку у випадаючому списку.

Випадаючий список VB.Net, у якому під час виконання елемент Male вибрано як елемент за замовчуванням

Елементи успішно додано до елемента керування списком.

Вибір елементів поля зі списком

Можливо, вам знадобиться встановити елемент за замовчуванням, який буде вибрано під час завантаження форми. Ви можете досягти цього за допомогою методу SelectedItem(). Наприклад, щоб встановити вибрану стать за замовчуванням на Чоловічу, ви можете використати такий оператор:

ComboBox1.SelectedItem = "Male"

Коли ви запускаєте код, поле зі списком має виглядати, як показано нижче:

Форма VB.Net, що відображає вибраний список з варіантами "чоловічий" та "жіночий"

Отримання значень 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) Натисніть кнопку «Пуск» на панелі інструментів, щоб виконати код. Ви повинні отримати наступну форму:

Code Знімок екрана обробника події SelectedIndexChanged у вибраному списку VB.Net

Крок 4) Натисніть кнопку випадаючого списку та виберіть свою стать. У моєму випадку я вибираю Чоловік, і отримую наступне:

Вікно повідомлення VB.Net, що показує текст вибраного елемента вибраного списку. Чоловік

Ось скріншот коду:

Пояснення Code:

  1. Створення класу з іменем Form1. Клас буде загальнодоступним, оскільки для його модифікатора доступу встановлено значення Public.
  2. Запуск підпроцедури з назвою ComboBox1_SelectedIndexChanged. Це генерується автоматично, коли ви двічі клацнете на елементі керування випадаючим списком на вкладці конструктора. Ця підпроцедура буде викликана, коли ви виберете елемент зі випадаючого списку. Об'єкт sd As посилається на об'єкт, який викликав подію, тоді як evnt As EventArgs містить дані події.
  3. Створення рядкової змінної з назвою var_gender.
  4. Встановлення значення змінної var_gender для елемента, вибраного у списку.
  5. Виведення значення змінної var_gender у повідомленняBox.
  6. Кінець комбоBoxПідпроцедура 1_SelectedIndexChanged.
  7. Кінець класу 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) Після цього вам потрібно перетягнути два елементи керування зі списком у форму.

Два елементи керування зі списком, розташовані поруч на VB.Net Windows Форма

Крок 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) Натисніть кнопку «Пуск» у верхній панелі, щоб запустити код. Ви повинні отримати наступний результат:

Перший випадаючий список, заповнений чоловіками та жінками під час завантаження форми (Form_Load).

Крок 5) Натисніть кнопку випадаючого списку на першому випадаючому списку та виберіть «Чоловік». Перемістіть курсор миші на другий випадаючий список та натисніть кнопку випадаючого списку. Перегляньте доступні елементи:

Другий випадаючий список, що показує Ніколая та Джона після вибору чоловічої статі

Крок 6) Перейдіть до першого випадаючого списку та виберіть жінкаПерейдіть до другого випадаючого списку та перегляньте доступні елементи:

Вибрано друге випадаюче поле, що показує Алісу та Грейс після вибору жінок.

Ось скріншот коду:

Code Знімок екрана обробника SelectedIndexChanged у VB.Net з двома комбо-боксами

Пояснення Code:

  1. Створення класу з іменем Form1.
  2. Початок підпроцедури з назвою Form1_Load(). Вона буде запущена після завантаження форми. Об'єкт sd As посилається на об'єкт, який викликав подію, тоді як evnt As EventArgs містить дані події.
  3. Додавання предмета Самці до КомбоBox1.
  4. Додавання предмета Females до ComboBox1.
  5. Кінець підпроцедури Form1_Load().
  6. Початок підпроцедури під назвою ComboBox1_SelectedIndexChanged(). Це буде викликано, коли буде вибрано елемент у першому списку. Відправник As Object посилається на об’єкт, який викликав подію, тоді як e As EventArgs містить дані події.
  7. Зробіть комбоBox2 порожній, очистіть з нього всі елементи.
  8. Створення умови. Перевірка на наявність вибраного елемента на ComboBox1 - чоловіки.
  9. Додайте предмет Миколая до комбоBox2, коли зазначена вище умова справджується, тобто предмет вибрано в ComboBox1 - чоловік.
  10. Додайте предмет John до ComboBox2, коли зазначена вище умова справджується, тобто предмет вибрано в ComboBox1 - чоловіки.
  11. Створення умови. Перевірка на наявність вибраного елемента на ComboBox1 - жінки.
  12. Додайте предмет Аліса до комбоBox2, коли зазначена вище умова справджується, тобто предмет вибрано в ComboBox1 - жінки.
  13. Додайте до комбо предмет ГраціяBox2, коли зазначена вище умова справджується, тобто предмет вибрано в ComboBox1 - жінки.
  14. Кінець блоку If.
  15. Кінець комбоBoxПідпроцедура 1_SelectedIndexChanged().
  16. Кінець класу Form1.

Поширені запитання

КомбоBox економить місце, приховуючи список, доки не буде клацнуто стрілку, і може приймати введені дані. СписокBox відображає всі елементи одночасно та дозволяє лише вибір.

DropDownStyle вибирає поведінку: DropDown (за замовчуванням) дозволяє користувачеві вводити вільний текст; DropDownList обмежує введення елементами зі списку; Simple залишає список відкритим постійно.

SelectedIndex повертає позицію, що починається з нуля, SelectedItem повертає об'єкт, пов'язаний з цим рядком, а Text повертає рядок у полі редагування, включаючи текст, введений користувачем.

Комбінований дзвінокBox1.Items.Clear() для очищення списку. Щоб також скинути текст, що відображається в полі редагування, додайте після нього ComboBox1.SelectedIndex = -1 або встановити ComboBox1.Текст = Рядок.Пусто.

Встановіть властивість DropDownStyle на DropDownList у вікні Властивості або в коді (ComboBox1. Стиль випадаючого меню = КомбінаціяBoxStyle.DropDownList). Користувач може вибирати лише елементи, які вже є у списку.

TextChanged спрацьовує, коли користувач редагує частину текстового поля. SelectedIndexChanged спрацьовує лише тоді, коли виділений елемент у розкривному списку змінюється мишею, клавіатурою чи кодом.

Так. Копілот GitHub перетворює коментар простою англійською мовою на повний блок SelectedIndexChanged або DataBindings. Завжди перевіряйте згенерований код перед відправкою.ping.

Так. Visual Studio 2026 поєднує Copilot з intelliCode для цілого рядка, контекстно-залежного завершення ComboBox властивості та події.

Підсумуйте цей пост за допомогою: