VB.Net КомбоBox Контроль с ПРИМЕРОМ
⚡ Умное резюме
КомбоBox в VB.Net это Windows Элемент управления «Форма», объединяющий текстовое поле и выпадающий список, позволяющий пользователю выбрать один элемент или ввести его вручную, экономя место на форме.
Что такое элемент управления Combobox?
Элемент управления полем со списком помогает отображать раскрывающийся список с множеством элементов. Рассматривайте это как комбинацию текстового поля, в которое пользователь вводит текст, и раскрывающегося списка, из которого пользователь выбирает элемент. Обратите внимание, что в поле со списком отображается по одному элементу за раз.
Создание поля со списком
КомбоBox можно создать следующим образом:
Шаг 1) Создайте новое приложение.
Шаг 2) Перетащите элемент управления «Выпадающий список» из панели инструментов на форму.
Вы создадите элемент управления полем со списком.
Добавление элементов в Combobox
Теперь, когда мы создали поле со списком, давайте продемонстрируем, как добавлять в него элементы.
Double Щелкните по добавленному вами элементу управления combobox. Вы перейдете из вкладки дизайна на вкладку с кодом.
Чтобы добавить элемент в элемент управления со списком, мы используем свойство Items. Давайте продемонстрируем это, добавив в поле со списком два элемента: «Мужчина» и «Женщина»:
ComboBox1.Items.Add("Male") ComboBox1.Items.Add("Female")
Мы также можем добавить элементы в поле со списком во время разработки из окна «Свойства». Вот шаги:
Шаг 1) Откройте вкладку «Дизайн» и щелкните элемент управления «Выпадающий список».
Шаг 2) Перейдите в окно «Свойства» и просмотрите раздел «Элементы».
Шаг 3) Нажмите на значок "...", расположенный справа от (Коллекция).
Шаг 4) Вы увидите новое окно. Здесь вам следует добавить элементы в выпадающий список, как показано ниже:
Шаг 5) После завершения работы с typing Выберите нужные элементы и нажмите кнопку ОК.
Шаг 6) Нажмите кнопку «Пуск» на верхней панели инструментов и выберите значок раскрывающегося списка в поле со списком.
Элементы были успешно добавлены в элемент управления полем со списком.
Выбор элементов выпадающего списка
Возможно, вам потребуется установить элемент по умолчанию, который будет выбран при загрузке формы. Этого можно добиться с помощью метода SelectedItem(). Например, чтобы установить мужской пол по умолчанию, вы можете использовать следующий оператор:
ComboBox1.SelectedItem = "Male"
Когда вы запустите код, элемент управления со списком должен выглядеть так, как показано ниже:
Получение значений поля со списком
Вы можете получить выбранный элемент из выпадающего списка. Это можно сделать с помощью свойства 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.
- Запуск подпрограммы под названием Combo.Box1_SelectedIndexChanged. Это событие генерируется автоматически при двойном щелчке по элементу управления ComboBox на вкладке «Конструктор». Эта подпрограмма будет вызываться при выборе элемента из ComboBox. Объект sd As Object ссылается на объект, вызвавший событие, а объект evnt As EventArgs содержит данные события.
- Создание строковой переменной с именем var_gender.
- Установка значения переменной var_gender для элемента, выбранного в поле со списком.
- Вывод значения переменной var_gender в сообщение.Box.
- Конец комбоBox1_SelectedIndexChanged подпроцедура.
- Конец класса 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) После этого вам нужно перетащить два элемента управления «Выпадающий список» на форму.
Шаг 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:
- Создание класса с именем Form1.
- Начало подпрограммы с именем Form1_Load(). Она будет запущена после загрузки формы. Объект sd As Object ссылается на объект, вызвавший событие, а объект evnt As EventArgs содержит данные события.
- Добавление предмета «Мужчины» в комбоBox1.
- Добавление предмета «Женщины» в комбоBox1.
- Конец подпроцедуры Form1_Load().
- Запуск подпроцедуры с именем ComboBox1_SelectedIndexChanged(). Это будет вызвано при выборе элемента в первом выпадающем списке. Отправитель As Object ссылается на объект, который вызвал событие, в то время как e As EventArgs содержит данные события.
- Сделать комбоBox2 пусто, уберите из него все предметы.
- Создание условия. Проверка наличия выбранного элемента в ComboBox1 – мужчины.
- Добавьте предмет Николас в комбоBox2, когда вышеуказанное условие истинно, то есть элемент выбран в ComboBox1-мужской.
- Добавьте предмет Джон в комбоBox2, когда вышеуказанное условие истинно, то есть элемент выбран в ComboBox1 – мужчины.
- Создание условия. Проверка наличия выбранного элемента в ComboBox1 – Женщины.
- Добавьте предмет Алиса в комбоBox2, когда вышеуказанное условие истинно, то есть элемент выбран в ComboBox1 – Женщины.
- Добавьте предмет Благодать в комбоBox2, когда вышеуказанное условие истинно, то есть элемент выбран в ComboBox1 – Женщины.
- Конец блока If.
- Конец комбоBoxПодпроцедура 1_SelectedIndexChanged().
- Конец класса Form1.













