Четверг, 14.11.2019, 22:12
Главная | Регистрация | Вход Приветствую Вас Гость | RSS


Меню сайта


Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0


Тестування онлайн
тестування онлайн 


Социальные закладк

Приложение: cpicki.rar
combobox.rar

Занятие 23.   Оператор   Select Case  . Элементы управления  ListBox, ComboBox

I.    Краткие сведения об операторе Select Case 

  1. Оператор Select Case используется тогда, когда  на основе значения одной переменной или свойства производится выбор из  трех или более ветвей алгоритма. В этом случае он обычно гораздо яснее, чем вложенная структура If…Then, и более эффективен.
     
  2. 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 для того, чтобы предоставить пользователю список вариантов, можно:

  1. отобразить список в элементах управления ListBox(список)
  2. или ComboBox (комбинированный список).

 

Элемент управления ListBox.

  • Элемент управления ListBox (список) отображает список элементов, в котором пользователь может выбрать один или несколько элементов.

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

​​​

  Записи в список  добавляются  одним из способов:

1. В режиме конструктора с помощью коллекции Items из окна Свойства;

  или 

 

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

  1. Выделить на форме элемент управления ListBox.
  2. В окне Свойства найти свойство Items. Items – это коллекция, в которую могут быть добавлены элементы
  3. Сделать щелчок на многоточии, появится окно Редактор коллекции строк.
  4. Этот редактор можно использовать для ввода элементов списка.
  5. Щелкнуть кнопку ОК. Вставленный список появится внутри элемента управления 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 (комбинированный список)

  1. Элемент управления   ComboBox (Комбинированный список)  сочетает в себе функциональные возможности списка ListBox и текстового поля TextBox.
  2. В отличие от ListBox в ComboBox отображается только один элемент списка.
  3. Кроме того, у него отсутствует режим выделения нескольких элементов списка.
  4. Но он может вводить значение через поле ввода, как это делает элемент управления TextBox.
  5. Свойства:
    SelectedIndex, SelectedItem, Items.Count
     
    и
    методы:
    Items.Add, Items.Insert, Items.Clear , Items.RemoveAt
                                                                        
    объекта
    ComboBox аналогичны соответствующим свойствам и методам списка ListBox.

 

Создадим проект с использованием комбинированного списка. 

Проект "Выбор подарка", который поможет покупателям выбрать подарки.     (Combobox.rar)

  1. Создайте форму и поместите на нее комбинированный список ComboBox и текстовое поле TextBox.
     
    Элементы PictureBox и ImageList  ⇒дополнение к проекту.
  1. Для объекта ComboBox задайте для свойства Text значение «пусто».
  2. Добавьте элементы в список с помощью свойства 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   Примеры

 

Форма входа
Поиск
Календарь
«  Ноябрь 2019  »
ПнВтСрЧтПтСбВс
    123
45678910
11121314151617
18192021222324
252627282930
Архив записей
Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz

  • Рейтинг@Mail.ru
    Copyright MyCorp © 2019
    Конструктор сайтов - uCoz