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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Шаг 5) Закончив ввод элементов, нажмите кнопку ОК.

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

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

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

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

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

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

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

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

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

  1. Создание класса с именем Form1. Класс будет общедоступным, поскольку для его модификатора доступа установлено значение Public.
  2. Запуск подпроцедуры с именем ComboBox1_SelectedIndexChanged. Это генерируется автоматически при двойном щелчке по элементу управления combobox на вкладке Design. Эта подпроцедура будет вызвана при выборе элемента из combobox. sd As Object ссылается на объект, который вызвал событие, в то время как event As EventArgs имеет данные события s.
  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) Создайте новое приложение Window Forms.

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

SelectedIndexChanged событие

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

SelectedIndexChanged событие

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

SelectedIndexChanged событие

Шаг 6) Перейдите к первому списку и выберите «Женский». Перейдите ко второму списку и посмотрите доступные элементы:

SelectedIndexChanged событие

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

SelectedIndexChanged событие

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

  1. Создание класса с именем Form1.
  2. Запуск подпроцедуры с именем Form1_Load(). Это сработает после загрузки формы. Объект sd As ссылается на объект, вызвавший событие, в то время как системный 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.

Резюме

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