Что такое Combobox Control?
Элемент управления combobox помогает отображать раскрывающийся список с множеством элементов. Рассматривайте его как комбинацию текстового поля, в котором пользователь вводит текст, и раскрывающегося списка, из которого пользователь выбирает элемент. Обратите внимание, что поле со списком показывает по одному элементу за раз.
В этом руководстве по Visual Basic вы узнаете,
- Что такое Combobox Control?
- Создание поля со списком
- Добавление элементов в поле со списком
- Выбор элементов поля со списком
- Получение значений Combobox
- Удаление элементов Combobox
- Привязка источника данных
- SelectedIndexChanged событие
Создание поля со списком
ComboBox можно создать следующим образом:
Шаг 1) Создайте новое приложение.
Шаг 2) Перетащите элемент управления combobox из панели инструментов в форму.
Вы создадите элемент управления combobox.
Добавление элементов в поле со списком
Теперь, когда мы создали поле со списком, давайте продемонстрируем, как добавлять в него элементы.
Дважды щелкните добавленный элемент управления combobox. Вы перейдете с вкладки «Дизайн» на вкладку с кодом.
Чтобы добавить элемент в элемент управления combobox, мы используем свойство Items. Давайте продемонстрируем это, добавив в поле со списком два элемента: Male и Female:
ComboBox1.Items.Add("Male")ComboBox1.Items.Add("Female")
Мы также можем добавить элементы в поле со списком во время разработки из окна «Свойства». Вот шаги:
Шаг 1) Откройте вкладку дизайна и щелкните элемент управления combobox.
Шаг 2) Перейдите в окно «Свойства» и просмотрите параметр «Элементы».
Шаг 3) Щелкните значок
… Расположен справа от (Сборник).Шаг 4) Вы увидите новое окно. Здесь вы должны добавить элементы в поле со списком, как показано ниже:
Шаг 5) По завершении ввода элементов нажмите кнопку ОК.
Шаг 6) Нажмите кнопку «Пуск» на верхней панели инструментов и щелкните значок раскрывающегося списка в поле со списком.
Элементы были успешно добавлены в элемент управления combobox.
Выбор элементов поля со списком
Возможно, вам потребуется установить элемент по умолчанию, который будет выбран при загрузке формы. Вы можете добиться этого с помощью метода SelectedItem (). Например, чтобы установить выбранный пол по умолчанию на Мужской, вы можете использовать следующую инструкцию:
ComboBox1.SelectedItem = "Male"
Когда вы запускаете код, поле со списком должно быть таким, как показано ниже:
Получение значений Combobox
Вы можете получить выбранный элемент из выпадающего списка. Это можно сделать с помощью свойства text. Давайте продемонстрируем это, используя приведенный выше комбинированный список с двумя элементами: Male и Female. Следуйте инструкциям, приведенным ниже:
Шаг 1) Дважды щелкните поле со списком, чтобы открыть вкладку с кодом VB.NET.
Шаг 2) Добавьте следующий код:
Public Class Form1Private Sub ComboBox1_SelectedIndexChanged(sd As Object, evnt As EventArgs) Handles ComboBox1.SelectedIndexChangedDim var_gender As Stringvar_gender = ComboBox1.TextMessageBox.Show(var_gender)End SubEnd Class
Шаг 3) Нажмите кнопку «Пуск» на панели инструментов, чтобы выполнить код. У вас должна получиться такая форма:
Шаг 4) Нажмите кнопку раскрывающегося списка и выберите свой пол. В моем случае. Выбираю Male, и получаю следующее:
Вот скриншот кода:
Пояснение к коду:
- Создание класса с именем Form1. Класс будет общедоступным, поскольку для его модификатора доступа установлено значение Public.
- Запуск подпроцедуры ComboBox1_SelectedIndexChanged. Он создается автоматически, когда вы дважды щелкаете элемент управления combobox на вкладке дизайна. Эта подпроцедура будет вызвана, когда вы выберете элемент из поля со списком. Объект sd As ссылается на объект, который вызвал событие, в то время как событие As EventArgs имеет данные события s.
- Создание строкового целого числа с именем var_gender.
- Установка значения переменной var_gender на элемент, выбранный в поле со списком.
- Печать значения переменной var_gender в MesageBox.
- Конец подпроцедуры ComboBox1_SelectedIndexChanged.
- Конец класса Form1.
Удаление элементов Combobox
Вы можете удалить элемент из поля со списком. Это можно сделать двумя способами. Вы можете использовать либо индекс элемента, либо имя элемента.
При использовании индекса элемента следует использовать свойство Items.RemoveAt (), как показано ниже:
ComboBox1.Items.RemoveAt(1)
В приведенном выше примере мы удаляем элемент, расположенный в индексе 1 поля со списком. Обратите внимание, что индексы поля со списком начинаются с индекса 0, что означает, что приведенная выше команда удалит второй элемент поля со списком.
Чтобы удалить элемент по его имени, вы должны использовать свойство Items.Remove (), как показано ниже:
ComboBox1.Items.Remove("Female")
Приведенный выше код должен удалить элемент с именем Female из ComboBox1.
Привязка источника данных
ComboBox можно заполнить из набора данных. Рассмотрим SQL-запрос, приведенный ниже:
select emp_id, emp_name from employees;
Вы можете создать источник данных в программе, а затем использовать следующий код для его привязки:
comboBox1.DataSource = ds.Tables(0)comboBox1.ValueMember = "emp_id"comboBox1.DisplayMember = "emp_name"
Это предоставит вам простой способ заполнения элемента управления combobox данными без необходимости вводить каждый отдельный элемент.
SelectedIndexChanged событие
Этот тип события вызывается, когда вы изменяете выбранный элемент в поле со списком. Это событие, которое вы должны использовать, когда вам нужно реализовать действие при изменении выбранного элемента поля со списком. Продемонстрируем это на примере:
Шаг 1) Создайте новое приложение Window Forms.
Шаг 2) После этого вам нужно перетащить два элемента управления combobox в форму.
Шаг 3) Дважды щелкните внутри формы, чтобы открыть вкладку для кода. Введите следующий код:
Public Class Form1Private Sub Form1_Load(sd As Object, evnt As EventArgs) Handles MyBase.LoadComboBox1.Items.Add("Males")ComboBox1.Items.Add("Females")End SubPrivate Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox1.SelectedIndexChangedComboBox2.Items.Clear()If ComboBox1.SelectedItem = "Males" ThenComboBox2.Items.Add("Nicholas")ComboBox2.Items.Add("John")ElseIf ComboBox1.SelectedItem = "Females" ThenComboBox2.Items.Add("Alice")ComboBox2.Items.Add("Grace")End IfEnd SubEnd Class
Шаг 4) Нажмите кнопку «Пуск» на верхней панели, чтобы запустить код. Вы должны получить следующий результат:
Шаг 5) Нажмите кнопку раскрывающегося списка в первом поле со списком и выберите «Мужской». Переместите курсор мыши во второе поле со списком и нажмите кнопку его раскрывающегося списка. См. Доступные элементы:
Шаг 6) Перейдите к первому выпадающему списку и выберите «Женский». Перейдите ко второму списку и посмотрите доступные элементы:
Вот скриншот кода:
Пояснение к коду:
- Создание класса с именем Form1.
- Запуск подпроцедуры Form1_Load (). Это сработает после загрузки формы. Sd As Object ссылается на объект, который вызвал событие, в то время как система As EventArgs имеет данные события.
- Добавление элемента Males в ComboBox 1.
- Добавление элемента Females в ComboBox 1.
- Конец подпроцедуры Form1_Load ().
- Запуск подпроцедуры ComboBox1_SelectedIndexChanged (). Это будет вызвано, когда элемент будет выбран в первом поле со списком. Отправитель As Object ссылается на объект, который вызвал событие, в то время как e As EventArgs имеет данные события.
- Сделайте ComboBox2 пустым, удалите из него все элементы.
- Создание условия. Проверка того, является ли выбранный элемент в ComboBox1 мужской.
- Добавьте элемент Nicholas в ComboBox2, когда вышеупомянутое условие истинно, то есть элемент, выбранный в ComboBox1, является Male.
- Добавьте элемент John в ComboBox2, когда вышеупомянутое условие истинно, то есть элемент, выбранный в ComboBox1, имеет значение Males.
- Создание условия. Проверка, является ли выбранный элемент в ComboBox1 женским.
- Добавьте элемент Алиса в ComboBox2, когда вышеупомянутое условие истинно, то есть элемент, выбранный в ComboBox1, является Females.
- Добавьте элемент Grace в ComboBox2, когда вышеупомянутое условие истинно, то есть элемент, выбранный в ComboBox1, является Females.
- Конец блока If.
- Конец подпроцедуры ComboBox1_SelectedIndexChanged ().
- Конец класса Form1.
Резюме
- ComboBox создается путем перетаскивания его из панели инструментов в форму.
- Это дает нам возможность представить пользователю множество вариантов.
- Мы можем установить элемент по умолчанию, который будет выбран в ComboBox при загрузке формы.
- Событие SelectedIndexChanged помогает нам указать действие, которое нужно предпринять, когда конкретный элемент выбран в поле со списком.