ТЕМА № 11. Методы AddItem и RemoveItem элемента управления ListBox. Процедура MsgBox

  • doc
  • 07.05.2020
Публикация на сайте для учителей

Публикация педагогических разработок

Бесплатное участие. Свидетельство автора сразу.
Мгновенные 10 документов в портфолио.

Иконка файла материала 62. ТЕМА № 11. Методы AddItem и RemoveItem элемента управления ListBox. Процедура MsgBox.doc

ТЕМА № 1. Методы AddItem и RemoveItem элемента управления ListBox. Процедура MsgBox

Задание: разработайте приложение «Ресторан», которое будет формировать заказ клиента с помощью двух элементов управления ListBox для меню и для заказа.

 

Ход работы

1   Создайте новый проект и расположите элементы управления на новой форме frmРесторан, как показано на рис. 20. Присвойте всем созданным элементам управления имена в соответствии со стилем программирования на VB.

2   Добавьте в Список меню названия блюд (см. пункт 4 из Элемент управления ListBox), которые Вы любите.

3   Запрограммируйте кнопку Добавить так, чтобы при ее нажатии выделенный элемент списка Меню добавлялся в конец списка Заказ:

 

Private Sub cmdДобавить_Click()

            lstЗаказ.AddItem lstМеню.Text

End Sub

 

4   Запустите программу и понажимайте на кнопку Добавить. В список Заказ добавляются названия блюд из списка Меню. Теперь необходимо обеспечить возможность отказаться от выбранного блюда.

 

Рис. 20. Конструктор формы «Ресторан»

5   Для этого запрограммируйте кнопку Убрать так, чтобы при ее нажатии из списка Заказ удалялся выделенный элемент, т.е.

 

Private Sub cmdУбрать_Click()

            lstЗаказ.RemoveItem lstЗаказ.ListIndex

End Sub

 

6   Запустите приложение. Добавьте в список Заказ несколько блюд. Теперь выделите в списке Заказ какое-нибудь блюдо и попробуйте его убрать. Блюда как не бывало. А теперь еще раз нажмите на кнопку Убрать: пока не выделено ни одного блюда. Возникает ошибка (!), потому что Вы пытаетесь удалить элемент списка с несуществующим индексом.

7   Чтобы исправить эту ошибку, необходимо при удалении элемента из списка Заказ проверить условие, чтобы номер удаляемого элемента был больше либо равен 0. Сделайте необходимые исправления самостоятельно и запустите приложение.

8   Теперь необходимо, чтобы при нажатии на кнопку Заказать пользователь получал сообщение «Приятного аппетита!» и программа завершалась.

9   Для этого запрограммируйте кнопку Заказать следующим образом:

 

Private Sub cmdЗаказать_Click()

            MsgBox «Приятного аппетита!», vbOKOnly, «Ресторан Студент»

            End

End Sub

 

10   Запустите, отладьте и сохраните приложение.

 

Рис. 21. Ресторан заработал!

Дополнительное задание

Исправьте приложение так, чтобы у посетителя ресторана запрашивалось подтверждение о том, все ли он заказал, и в случае отрицательного ответа ему снова предоставлялась возможность изменять свой заказ.

 

Контрольные задания

1   Добавьте текстовое окно и кнопку, чтобы можно было добавлять новые блюда в меню ресторана.

2   Сделайте так, чтобы новое блюдо добавлялось не в конец меню, а перед выделенным блюдом.

3   Добавьте к Вашей форме кнопку Убрать Все, при нажатии на которую из списка Заказ будут удалены все блюда.

4   Добавьте вычисление суммы заказа, которая бы выводилась в диалоговом окне «Приятного аппетита!».

5   Добавьте вычисление суммы заказа, которая бы выводилась под списком Заказ и изменялась при выборе каждого нового блюда.

6   Добавьте диалоговое окно, которое бы при выборе каждого блюда запрашивало у посетителя подтверждение выбора этого блюда.

7   Сделайте так, чтобы при перемещении по списку Меню внизу формы выводился комментарий к блюду (например, из каких продуктов оно приготовлено).

 

Вопросы для самоконтроля

1   С помощью каких методов в элемент управления ListBox можно добавить или удалить элемент?

2   В списке lstProba пять элементов, с помощью команды lstProba.AddItem «Шесть» мы добавили новый элемент. Какой индекс получит этот элемент?

3   Что произойдет, если Вы попытаетесь удалить из списка элемент, индекс которого превышает количество элементов в списке?

4   Для чего предназначена функция MsgBox? Приведите несколько примеров ее использования.

5   Можно ли использовать функцию MsgBox как процедуру?

6   В чем состоит разница между функцией и процедурой MsgBox?


Скачано с www.znanio.ru