VB.Net КомбоBox Контроль с ПРИМЕРОМ
Что такое элемент управления Combobox?
Элемент управления полем со списком помогает отображать раскрывающийся список с множеством элементов. Рассматривайте это как комбинацию текстового поля, в которое пользователь вводит текст, и раскрывающегося списка, из которого пользователь выбирает элемент. Обратите внимание, что в поле со списком отображается по одному элементу за раз.
Создание поля со списком
КомбоBox можно создать следующим образом:
Шаг 1) Создайте новое приложение.
Шаг 2) Перетащите элемент управления «Поле со списком» из панели инструментов в форму.
Вы создадите элемент управления полем со списком.
Добавление элементов в Combobox
Теперь, когда мы создали поле со списком, давайте продемонстрируем, как добавлять в него элементы.
Double Щелкните по добавленному вами элементу управления combobox. Вы перейдете из вкладки дизайна на вкладку с кодом.
Чтобы добавить элемент в элемент управления со списком, мы используем свойство Items. Давайте продемонстрируем это, добавив в поле со списком два элемента: «Мужчина» и «Женщина»:
ComboBox1.Items.Add("Male") ComboBox1.Items.Add("Female")
Мы также можем добавить элементы в поле со списком во время разработки из окна «Свойства». Вот шаги:
Шаг 1) Откройте вкладку «Дизайн» и щелкните элемент управления «Поле со списком».
Шаг 2) Перейдите в окно «Свойства» и просмотрите параметр «Элементы».
Шаг 3) Нажмите …, расположенный справа от (Коллекция).
Шаг 4)Вы увидите новое окно. Здесь вам следует добавить элементы в поле со списком, как показано ниже:
Шаг 5) Закончив ввод элементов, нажмите кнопку ОК.
Шаг 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) Нажмите кнопку раскрывающегося списка и выберите свой пол. В моем случае. Я выбираю Мужской и получаю следующее:
Вот скриншот кода:
Объяснение кода:
- Создание класса с именем Form1. Класс будет общедоступным, поскольку для его модификатора доступа установлено значение Public.
- Запуск подпроцедуры с именем ComboBox1_SelectedIndexChanged. Это генерируется автоматически при двойном щелчке по элементу управления combobox на вкладке Design. Эта подпроцедура будет вызвана при выборе элемента из combobox. sd As Object ссылается на объект, который вызвал событие, в то время как event As EventArgs имеет данные события s.
- Создание целочисленной строки с именем 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) Создайте новое приложение Window Forms.
Шаг 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) Перейдите к первому списку и выберите «Женский». Перейдите ко второму списку и посмотрите доступные элементы:
Вот скриншот кода:
Объяснение кода:
- Создание класса с именем Form1.
- Запуск подпроцедуры с именем Form1_Load(). Это сработает после загрузки формы. Объект sd As ссылается на объект, вызвавший событие, в то время как системный 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.
Резюме
- КомбоBox создается путем перетаскивания его из панели инструментов в форму.
- Это дает нам возможность представить пользователю множество вариантов.
- Мы можем установить элемент по умолчанию, который будет выбран в Combo.Box когда форма загружена.
- Событие SelectedIndexChanged помогает нам указать действие, которое необходимо выполнить при выборе определенного элемента в поле со списком.