Приложение: cpicki.rar
combobox.rar
Занятие 23. Оператор Select Case . Элементы управления ListBox, ComboBox
I. Краткие сведения об операторе Select Case
- Оператор Select Case используется тогда, когда на основе значения одной переменной или свойства производится выбор из трех или более ветвей алгоритма. В этом случае он обычно гораздо яснее, чем вложенная структура If…Then, и более эффективен.
- PS!!! Однако когда выбор зависит от значений нескольких различных переменных, то нужно использовать структуру выбора If…Then.
Синтаксис оператора выбора Select . . .Case на языке Visual Basic.NET:
Select Case Имя_Переменной Case X Case Y Case Z ...... End Select |
Данный оператор говорит Visual Basic .NET:
проверь значение переменной Переменной.
1. если оно совпадает со значением X, выполни набор команд Операторы 1
2. если со значением Y — выполни набор команд Операторы 2,
3. если со значением Z — выполни набор команд Операторы З.
Пример
Select Case Оценка Case 5 End Select |
Обратите внимание, что:
1.здесь уже не нужно каждый раз повторять такие слова, как E l s e l f и Then.
2. в операторе Select Case нет ограничения на количество строк Case, поэтому вы можете создать их столько, сколько нужно для учета всех возможных вариантов.
Использование оператора Select Case с операторами сравнения.
-
Обычно оператор Select Case проверяет точное совпадение значения переменной с несколькими заданными значениями. Но если использовать его совместно с операторами сравнения, такими как <, <=,>,>=,<>, можно проверять принадлежность значения переменной к разным диапазонам значений.
-
Чтобы оператор Select Case и операторы сравнения можно было использовать вместе, перед каждым оператором сравнения нужно добавить ключевое слово is :
Select Case Показатель Case is > 20 TextBox1.Text = "Хороший результат" Case is > 10 TextBox1.Text = "Попробуйте еще раз" End Select |
Этому коду эквивалентен код с использованием оператора If-Then: If Показатель > 20 Then TextBox1.Text = "Хороший результат" Elself Показатель > 10 Then TextBox1.Text = "Попробуйте еще раз" End If |
II. Элемент управления ListBox. (cpicki.rar)
В Visual Basic.net для того, чтобы предоставить пользователю список вариантов, можно:
- отобразить список в элементах управления ListBox(список)
- или ComboBox (комбинированный список).
Элемент управления ListBox.
-
Элемент управления ListBox (список) отображает список элементов, в котором пользователь может выбрать один или несколько элементов.
-
Прямое редактирование списка невозможно. Когда пользователь выбирает элемент, он выделяется в списке.
Записи в список добавляются одним из способов:
1. В режиме конструктора с помощью коллекции Items из окна Свойства;
или
Чтобы добавить элементы в список во время визуального проектирования, нужно:
- Выделить на форме элемент управления ListBox.
- В окне Свойства найти свойство Items. Items – это коллекция, в которую могут быть добавлены элементы
- Сделать щелчок на многоточии, появится окно Редактор коллекции строк.
- Этот редактор можно использовать для ввода элементов списка.
- Щелкнуть кнопку ОК. Вставленный список появится внутри элемента управления ListBox.
Элементы списка можно вводить вручную или же скопировать заранее подготовленный перечень из какого-нибудь существующего текстового файла
2. В программном коде с помощью метода ADD - добавить элемент в список (по умолчанию - в конец), отображение – при загрузке формы, например:
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
ListBox1.Items.Add("Глубокоуважаемый господин,")
ListBox1.Items.Add("Глубокоуважаемая госпожа,")
ListBox1.Items.Add("Глубокоуважаемые дамы,")
ListBox1.Items.Add("Глубокоуважаемые дамы и господа,")
End Sub
Свойства объекта ListBox, которые не включены в список свойств (не могут быть определены на этапе разработки формы), но которые можно применять на этапе разработки программного кода.
1. Items.Count – число элементов в списке
Основное событие списка — Click. Это событие вызывается, если пользователь с помощью мыши или клавиш управления курсором выбирает элемент в списке.
Когда пользователь выбирает элемент, он выделяется в списке
2. SelectedItem – значение выбранного элемента
3. SelectedIndex – номер выбранного элемента списка . (Нумерация – от нуля)
4. SelectionMode – определяет, сколько элементов списка можно выбрать одновременно.
В любое время в список можно добавлять новые элементы или удалять существующие.
Если не все элементы могут одновременно отобразиться в поле списка, то в нем автоматически отображаются полосы прокрутки.
Методы
Окно списка — это первый из рассмотренных нами элементов управления, для которых важную роль играют методы.
Создание элементов списка
Для добавления новых элементов используется метод Add: ListBox. Items.Add (Элемент). Параметр Элемент задает добавляемый элемент списка.
Данный метод должен вызываться при вставке каждого элемента. Как правило, заполнение списка выполняется при загрузке формы:
Вариант 1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
ListBox1.Items.Add("Глубокоуважаемый господин,")
ListBox1.Items.Add("Глубокоуважаемая госпожа,")
ListBox1.Items.Add("Глубокоуважаемые дамы,")
ListBox1.Items.Add("Глубокоуважаемые дамы и господа,")
End Sub
Вариант 2
Private Sub Button2_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
ListBox1.Items.Add(TextBox4.Text)
End Sub
Вариант 3
3. Для добавления новых элементов используется метод Insert: ListBox. Items.Insert(индекс, элемент). Параметр Элемент задает добавляемый элемент списка.
Удаление элементов списка.
- Для удаления элемента из списка используется метод RemoveAt () которому в качестве параметра передается индекс удаляемого элемента. Индексация элементов списка начинается с 0:
Listbox1.Items.RemoveAt(индекс_элемента)
Например:
ListBox1.Items.RemoveAt(ListBox1.SelectedIndex)
или
ListBox1.Items.RemoveAt(2) 'Удален третий элемент списка
- Для удаления всех элементов списка используется метод Clear:
Пример формирования списка.
![]() |
Private Sub Form1_Load(...) Private Sub Button2_Click_1(......) Handles Button2.Click Private Sub Button3_Click_1(...) Private Sub ListBox1_SelectedIndexChanged(...) Private Sub Button1_Click(...) |
Для обработки выбора пользователя из списка можно использовать условный оператор if или оператор выбора Select . . . Case.
III. Еще один вид списка - ComboBox (комбинированный список)
- Элемент управления ComboBox (Комбинированный список) сочетает в себе функциональные возможности списка ListBox и текстового поля TextBox.
- В отличие от ListBox в ComboBox отображается только один элемент списка.
- Кроме того, у него отсутствует режим выделения нескольких элементов списка.
- Но он может вводить значение через поле ввода, как это делает элемент управления TextBox.
- Свойства:
SelectedIndex, SelectedItem, Items.Count
и
методы:
Items.Add, Items.Insert, Items.Clear , Items.RemoveAt
объекта ComboBox аналогичны соответствующим свойствам и методам списка ListBox.
Создадим проект с использованием комбинированного списка.
Проект "Выбор подарка", который поможет покупателям выбрать подарки. (Combobox.rar)
- Создайте форму и поместите на нее комбинированный список ComboBox и текстовое поле TextBox.
Элементы PictureBox и ImageList ⇒дополнение к проекту.
- Для объекта ComboBox задайте для свойства Text значение «пусто».
- Добавьте элементы в список с помощью свойства Items или в окне "Редактор коллекции строк".
5. Для объекта TextBox задайте для свойства Text значение «пусто». Сделайте его многострочным. (Измените значение свойства Multiline на True).
При выборе подарков в выпадающем списке, в текстовое поле должны быть выведены названия сопутствующих предметов.
или
6. Напишите программный код обработки нажатия на элементе управления ComboBox1. Процедура имеет имя: ComboBox1_SelectedIndexChanged.
- Согласно выбранному элементу списка нужно поместить в текстовое поле TextBox1 названия сопутствующих предметов .
- Если вы хотите, чтобы названия предметов выводились каждый с новой строки в текстовом поле, поместите между ними специальную константу Visual Basic vbNewLine:
Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged Case 1 : TextBox1.Text = "крем для ботинок" Case 4 : TextBox1.Text = "соус чили " + vbNewLine + "острый соус" |
7. Постройте и запустите проект.
Дополнение:
1. 2.