Лабораторная работа № 9
* Разработайте приложение «Ресторан», которое будет формировать заказ клиента с помощью двух элементов управления ListBox: для меню и для заказа
Инструментарий:
объект | свойство name |
---|---|
форма | |
список (listbox) | lstMenu |
список (listbox) | lstZakaz |
кнопка (button) | btnAdd |
кнопка (button) | btnRemove |
кнопка (button) | btnOk |
Выполнение:
- Создайте новый проект и расположите элементы управления на новой форме: два элемента ListBox (lstMenu и lstZakaz), три кнопки: btnAdd (Добавить), btnRemove (Убрать) и btnOk (Заказать).
- Добавьте в Список меню названия блюд (свойство Items).
- Запрограммируйте кнопку Добавить так, чтобы при ее нажатии выделенный элемент списка меню добавлялся в конец списка Заказ:
Private Sub btnAdd_Click(… lstZakaz.Items.Add(lstMenu.Text) End Sub |
- Запустите программу и пощелкайте на кнопке btnAdd (Добавить). В список Заказ добавляются названия блюд из списка Меню.
Теперь необходимо обеспечить возможность отказаться от выбранного блюда.
- Для этого запрограммируйте кнопку btnRemove (Убрать) так, чтобы при ее нажатии из списка Заказ удалялся выделенный элемент:
Private Sub btnRemove_Click(… lstZakaz.Items.Remove(lstZakaz.SelectedItem) 'свойство SelectedItem указывает на выбранный пункт списка End Sub |
- Запустите приложение. Добавьте в список Заказ несколько блюд. Затем выделите в списке Заказ какое-нибудь блюдо и попробуйте его убрать.
- Теперь необходимо, чтобы при нажатии на кнопку btnOk (Заказать) пользователь получал сообщение «Приятного аппетита!» и затем программа останавливалась.
- Для этого запрограммируйте кнопку Заказать следующим образом:
Private Sub btnOk_Click(… MsgBox(“Приятного аппетита!”, MsgBoxStyle.OkOnly, “Ресторан студент”) 'функция отображает сообщение в диалоговом окне, ожидает нажатия кнопки End Sub |
О работе с элементом msgbox также можно посмотреть в видео-фрагменте:
youTube
- Запустите и отладьте приложение.
Дополнительное задание.
- Исправьте приложение так, чтобы у посетителя ресторана запрашивалось подтверждение о том, все ли он заказал, и в случае отрицательного ответа ему снова предоставлялась возможность изменять свой заказ (использовать функцию MsgBox со вторым параметром MsgBoxStyle.YesNo: если выбрано yes – функция возвращает значение 6, если no – значение 7).
- Добавьте текстовое окно и кнопку, чтобы можно было добавлять новые блюда в меню ресторана.
- Добавьте к Вашей форме кнопку Убрать все, при нажатии на которую из списка Заказ будут удалены все блюда (метод Items.Clear() удаляет все элементы из коллекции).
- Добавьте вычисление суммы заказа, которая бы выводилась в диалоговом окне «Приятного аппетита!». Предварительно в списке Меню укажите цены на каждое блюдо. Затем при помощи условного оператора проверяйте выбранные блюда и суммируйте их цены.
Если что-либо в уроке осталось непонятным, предлагаем посмотреть видео о работе с элементом ListBox в Visual Basic:
youTube
Вопросы для самоконтроля:
- С помощью каких методов в элемент управления ListBox можно добавить и удалить элемент?
- Для чего предназначена функция MsgBox? Приведите несколько примеров ее использования.
* При использовании материалов обязательна ссылка на источник: Майер С.Ф., «MS Visual Basic 2008» — Учебно-методическое пособие : Южный федеральный университет. – Ростов-на-Дону, 2017. – 92 с.