Приложение: 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
Операторы 1
Case Y
Операторы 2
Case Z
Операторы З
......
End Select
|
Данный оператор говорит Visual Basic .NET:
проверь значение переменной Переменной.
1. если оно совпадает со значением X, выполни набор команд Операторы 1
2. если со значением Y — выполни набор команд Операторы 2,
3. если со значением Z — выполни набор команд Операторы З.
Пример
Select Case Оценка
Case 5
TextBox1.Text = "Отлично"
Case 4
TextBox1.Text = "Хорошо, но можно лучше"
Case 3
TextBox1.Text = "Вы способны на большее. Попробуйте еще раз"
Case 2
TextBox1.Text = "Нет, сегодня не Ваш день"
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(...)
ListBox1.Items.Add("Глубокоуважаемый господин,")
ListBox1.Items.Add("Глубокоуважаемая госпожа,")
ListBox1.Items.Add("Глубокоуважаемые дамы,")
ListBox1.Items.Add("Глубокоуважаемые дамы и господа,")
TextBox1.Text = ListBox1.Items.Count
End Sub
Private Sub Button2_Click_1(......) Handles Button2.Click
ListBox1.Items.Add(TextBox4.Text)
TextBox1.Text = ListBox1.Items.Count
End Sub
Private Sub Button3_Click_1(...)
n = Val(InputBox(""))
If (n >= 0) And (n <= ListBox1.Items.Count) Then
ListBox1.Items.Insert(n, TextBox4.Text)
TextBox1.Text = ListBox1.Items.Count
Else : MessageBox.Show("Значение номера строки недопустимо")
End If
End Sub
Private Sub ListBox1_SelectedIndexChanged(...)
TextBox2.Text = ListBox1.SelectedItem
TextBox3.Text = ListBox1.SelectedIndex
TextBox1.Text = ListBox1.Items.Count
End Sub
Private Sub Button1_Click(...)
ListBox1.Items.RemoveAt(ListBox1.SelectedIndex)
TextBox1.Text = ListBox1.Items.Count
End Sub
|
Для обработки выбора пользователя из списка можно использовать условный оператор 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
Dim a As Integer
a = ComboBox1.SelectedIndex
Select Case a
Case 0 : TextBox1.Text = "лента для шляпы" + vbNewLine + "бабочка"
PictureBox1.Image = ImageList1.Images(0)
Case 1 : TextBox1.Text = "крем для ботинок"
PictureBox1.Image = ImageList1.Images(1)
Case 2 : TextBox1.Text = "карта подземной шахты" + vbNewLine + " схема подземного замка"
PictureBox1.Image = ImageList1.Images(2)
Case 3 : TextBox1.Text = "ручка с надписью" + vbNewLine + "футболка"
PictureBox1.Image = ImageList1.Images(3)
Case 4 : TextBox1.Text = "соус чили " + vbNewLine + "острый соус"
PictureBox1.Image = ImageList1.Images(4)
End Select
End Sub
|
7. Постройте и запустите проект.

Дополнение:
1. 2. 
Занятие 23.1 Примеры
|