Учебники

10) VB.Net ComboBox Control

Что такое Combobox Control?

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

В этом уроке по Visual Basic вы узнаете,

Создание Combobox

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

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

Шаг 2) Перетащите элемент управления со списком из панели инструментов в форму.

Вы создадите поле со списком.

Добавление предметов в Combobox

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

Дважды щелкните на элементе управления со списком, который вы добавили. Вы будете перемещены с вкладки дизайна на вкладку с кодом.

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

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

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

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

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

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

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

Шаг 5) После того, как вы закончите набирать текст, нажмите кнопку ОК.

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

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

Выбор элементов Combobox

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

ComboBox1.SelectedItem = "Male"

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

Получение значений Combobox

Вы можете получить выбранный предмет из вашего выпадающего списка. Это можно сделать с помощью свойства text. Давайте продемонстрируем это, используя наш вышеупомянутый комбинированный список с двумя пунктами, а именно, мужской и женский. Следуйте инструкциям ниже:

Шаг 1) Дважды щелкните по списку, чтобы открыть вкладку с кодом 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) Нажмите на выпадающую кнопку и выберите свой пол. В моем случае. Я выбираю Мале и получаю следующее:

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

Объяснение кода:

  1. Создание класса с именем Form1. Класс будет общедоступным, так как его модификатор доступа был установлен в Public.
  2. Запуск подпроцедуры с именем ComboBox1_SelectedIndexChanged. Это генерируется автоматически при двойном щелчке элемента управления со списком на вкладке дизайна. Эта подпроцедура будет вызываться при выборе элемента в выпадающем списке. Объект sd As ссылается на объект, вызвавший событие, в то время как событие As EventArgs содержит данные события s.
  3. Создание строкового целого числа с именем var_gender.
  4. Установка значения переменной var_gender для элемента, выбранного в выпадающем списке.
  5. Печать значения переменной var_gender в MesageBox.
  6. Конец подпроцедуры ComboBox1_SelectedIndexChanged.
  7. Конец класса 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"

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

Событие SelectedIndexChanged

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

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

Шаг 2) После этого вам нужно перетащить два элемента управления со списком в форму.

Шаг 3) Дважды щелкните внутри формы, чтобы открыть вкладку для кода. Введите следующий код:

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) Перейдите к первому комбинированному списку и выберите «Женский». Перейдите ко второму списку и увидите доступные предметы:

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

Объяснение кода:

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

Резюме

  • ComboBox создается путем перетаскивания его из панели инструментов и размещения в форме.
  • Это дает нам возможность представить многочисленные варианты пользователю.
  • Мы можем установить элемент по умолчанию, который будет выбран в ComboBox при загрузке формы.
  • Событие SelectedIndexChanged помогает нам указать действие, которое нужно выполнить, когда в выпадающем списке выбран определенный элемент.