VB.Net КомбоBox Контроль с ПРИМЕРОМ

⚡ Умное резюме

КомбоBox в VB.Net это Windows Элемент управления «Форма», объединяющий текстовое поле и выпадающий список, позволяющий пользователю выбрать один элемент или ввести его вручную, экономя место на форме.

  • 🎯 Цель: Отобразить выпадающий список, в котором пользователь выбирает или вводит одно значение.
  • Добавить товары: Заполните выпадающий список в окне свойств или с помощью метода Items.Add во время выполнения.
  • 🔍 Прочитать выбранный текст: SelectedItem, SelectedIndex и Text возвращают значение, выбранное пользователем.
  • 🇧🇷 Привязать данные: Настройте параметры DataSource, DisplayMember и ValueMember для загрузки строк из набора данных.
  • 🔔 Выявление изменений: Событие SelectedIndexChanged срабатывает всякий раз, когда изменяется выбранный элемент.
  • 🤖 Помощь ИИ: GitHub Copilot и Visual Studio IntelliCode написать комбоBox обработчики по мере ввода.

VB.Net КомбоBox Управление

Что такое элемент управления Combobox?

Элемент управления полем со списком помогает отображать раскрывающийся список с множеством элементов. Рассматривайте это как комбинацию текстового поля, в которое пользователь вводит текст, и раскрывающегося списка, из которого пользователь выбирает элемент. Обратите внимание, что в поле со списком отображается по одному элементу за раз.

Создание поля со списком

КомбоBox можно создать следующим образом:

Шаг 1) Создайте новое приложение.

Шаг 2) Перетащите элемент управления «Выпадающий список» из панели инструментов на форму.

Элемент управления ComboBox в VB.Net, перетащенный из панели инструментов на Windows форма для заполнения

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

Добавление элементов в Combobox

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

Double Щелкните по добавленному вами элементу управления combobox. Вы перейдете из вкладки дизайна на вкладку с кодом.

Чтобы добавить элемент в элемент управления со списком, мы используем свойство Items. Давайте продемонстрируем это, добавив в поле со списком два элемента: «Мужчина» и «Женщина»:

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

Мы также можем добавить элементы в поле со списком во время разработки из окна «Свойства». Вот шаги:

Шаг 1) Откройте вкладку «Дизайн» и щелкните элемент управления «Выпадающий список».

Шаг 2) Перейдите в окно «Свойства» и просмотрите раздел «Элементы».

Шаг 3) Нажмите на значок "...", расположенный справа от (Коллекция).

Добавление элементов в выпадающий список VB.Net программным способом с помощью метода Items.Add

В окне свойств VB.Net открывается выпадающий список «Редактор коллекций элементов».

Шаг 4) Вы увидите новое окно. Здесь вам следует добавить элементы в выпадающий список, как показано ниже:

Редактор коллекций строк, отображающий элементы в выпадающем списке «Мужской» и «Женский».

Шаг 5) После завершения работы с typing Выберите нужные элементы и нажмите кнопку ОК.

Шаг 6) Нажмите кнопку «Пуск» на верхней панели инструментов и выберите значок раскрывающегося списка в поле со списком.

В VB.Net выпадающий список, отображающий выбор варианта «Мужской» в качестве элемента по умолчанию во время выполнения.

Элементы были успешно добавлены в элемент управления полем со списком.

Выбор элементов выпадающего списка

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

ComboBox1.SelectedItem = "Male"

Когда вы запустите код, элемент управления со списком должен выглядеть так, как показано ниже:

Форма VB.Net, отображающая выпадающий список с вариантами «Мужской» и «Женский».

Получение значений поля со списком

Вы можете получить выбранный элемент из выпадающего списка. Это можно сделать с помощью свойства 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. Запуск подпрограммы под названием Combo.Box1_SelectedIndexChanged. Это событие генерируется автоматически при двойном щелчке по элементу управления ComboBox на вкладке «Конструктор». Эта подпрограмма будет вызываться при выборе элемента из ComboBox. Объект sd As Object ссылается на объект, вызвавший событие, а объект evnt As EventArgs содержит данные события.
  3. Создание строковой переменной с именем var_gender.
  4. Установка значения переменной var_gender для элемента, выбранного в поле со списком.
  5. Вывод значения переменной var_gender в сообщение.Box.
  6. Конец комбоBox1_SelectedIndexChanged подпроцедура.
  7. Конец класса Form1.

Удаление элементов со списком

Вы можете удалить элемент из списка. Есть два способа добиться этого. Вы можете использовать либо индекс элемента, либо имя элемента.

При использовании индекса элемента вы должны использовать свойство Items.RemoveAt(), как показано ниже:

ComboBox1.Items.RemoveAt(1)

В приведенном выше примере мы удаляем элемент, расположенный с индексом 1 в поле со списком. Обратите внимание, что индексы полей со списком начинаются с индекса 0, а это означает, что приведенная выше команда удалит второй элемент поля со списком.

Чтобы удалить элемент, используя его имя, вы должны использовать свойство Items.Remove(), как показано ниже:

ComboBox1.Items.Remove("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) Нажмите кнопку «Старт» на верхней панели, чтобы запустить код. Вы должны получить следующий результат:

Первый выпадающий список заполняется данными о мужчинах и женщинах при загрузке формы.

Шаг 5) Щелкните раскрывающийся список в первом выпадающем списке и выберите «Мужской». Переместите курсор мыши во второй выпадающий список и щелкните по его раскрывающемуся списку. Посмотрите доступные варианты:

Второй выпадающий список отображает Николаса и Джона после выбора Малеса.

Шаг 6) Перейдите к первому выпадающему списку и выберите FПерейдите ко второму выпадающему списку и посмотрите доступные элементы:

Второй выпадающий список, отображающий Алису и Грейс после выбора категории «Женщины», содержит изображения Алисы и Грейс.

Вот скриншот кода:

Code Скриншот обработчика события SelectedIndexChanged для двух выпадающих списков в VB.Net.

Объяснение Code:

  1. Создание класса с именем Form1.
  2. Начало подпрограммы с именем Form1_Load(). Она будет запущена после загрузки формы. Объект sd As Object ссылается на объект, вызвавший событие, а объект evnt As EventArgs содержит данные события.
  3. Добавление предмета «Мужчины» в комбоBox1.
  4. Добавление предмета «Женщины» в комбоBox1.
  5. Конец подпроцедуры Form1_Load().
  6. Запуск подпроцедуры с именем ComboBox1_SelectedIndexChanged(). Это будет вызвано при выборе элемента в первом выпадающем списке. Отправитель As Object ссылается на объект, который вызвал событие, в то время как e As EventArgs содержит данные события.
  7. Сделать комбоBox2 пусто, уберите из него все предметы.
  8. Создание условия. Проверка наличия выбранного элемента в ComboBox1 – мужчины.
  9. Добавьте предмет Николас в комбоBox2, когда вышеуказанное условие истинно, то есть элемент выбран в ComboBox1-мужской.
  10. Добавьте предмет Джон в комбоBox2, когда вышеуказанное условие истинно, то есть элемент выбран в ComboBox1 – мужчины.
  11. Создание условия. Проверка наличия выбранного элемента в ComboBox1 – Женщины.
  12. Добавьте предмет Алиса в комбоBox2, когда вышеуказанное условие истинно, то есть элемент выбран в ComboBox1 – Женщины.
  13. Добавьте предмет Благодать в комбоBox2, когда вышеуказанное условие истинно, то есть элемент выбран в ComboBox1 – Женщины.
  14. Конец блока If.
  15. Конец комбоBoxПодпроцедура 1_SelectedIndexChanged().
  16. Конец класса Form1.

Часто задаваемые вопросы (FAQ)

КомбоBox Экономит место, скрывая список до щелчка по стрелке, и может принимать ввод текста. СписокBox Отображает все элементы одновременно и позволяет только выбрать один.

Параметр DropDownStyle выбирает поведение: DropDown (по умолчанию) позволяет пользователю вводить произвольный текст; DropDownList ограничивает ввод элементами списка; Simple постоянно держит список открытым.

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

Комбинированный вызовBox1. Используйте Items.Clear() для очистки списка. Чтобы также сбросить текст, отображаемый в поле редактирования, используйте Combo.Box1. SelectedIndex = -1 или установите Combo.Box1.Text = String.Empty.

Установите свойство DropDownStyle в значение DropDownList в окне свойств или в коде (Combo).Box1. Стиль выпадающего списка = КомбинированныйBoxПользователь может выбирать только те элементы, которые уже есть в списке.

Событие TextChanged срабатывает, когда пользователь редактирует текстовое поле. Событие SelectedIndexChanged срабатывает только тогда, когда изменяется выделенный элемент в выпадающем списке, будь то с помощью мыши, клавиатуры или кода.

Да. Второй пилот GitHub Преобразует комментарий на простом английском языке в полный блок SelectedIndexChanged или DataBindings. Всегда проверяйте сгенерированный код перед отправкой.ping.

Да. Visual Studio 2026 объединяет Copilot с другими сервисами. ИнтеллиCode для автодополнения всей строки с учетом контекста для ComboBox объекты недвижимости и мероприятия.

Подведем итог этой публикации следующим образом: