VB 4. Событие TextChanged элемента управления TextBox

Лабораторная работа №4

* Задание: Разработайте приложение, вычисляющее квадратный корень введенного числа. При вводе отрицательного аргумента должно выводиться сообщение «Действительных корней нет».

Инструментарий:

объект свойство name свойство text
форма frmKoren Вычисление квадратного корня
кнопка (button) btnExit Выход
надпись (label) lblZnachenie  
текстовое поле (textbox) txtArgument  

VB 2008 изменение текстового поля

Выполнение:

  1. Создайте новый проект и на новой форме создайте элементы управления:
    • TextBox – текстовое поле для ввода аргумента,
    • Label  – надпись для вывода значения корня,
    • Button – кнопка для выхода из программы (размеры и расположение элементов см. на рис. «Форма Вычисление кв. корня»).
  2. Измените свойство Text для формы на «Вычисление квадратного корня».
  3. Запрограммируйте событие Click для кнопки Выход оператором End.
  4. Измените имя (свойство Name) метки (Label) на lblZnachenie.

 

Обратите внимание, что в этом проекте мы не используем кнопку для запуска вычислений. Корень будет вычисляться сразу при попытке пользователя изменить значение, введенное в текстовое поле для аргумента (событие textChanged — изменение текста).

  1. Измените имя текстового поля на txtArgument, а затем запрограммируйте для него событие TextChanged следующим образом:
Private Sub txtArgument_TextChanged(...) ...
 lblZnachenie.Text = Math.Sqrt(Val(txtArgument.Text))
End Sub

где Val – оператор перевода строковых значений в число; Sqrt— функция квадратного корня (принадлежит объекту Math).

  1. Запустите программу и убедитесь, что при вводе отрицательного аргумента, выводится ошибка (NaN – не число).
  2. Используйте условный оператор для того, чтобы значение корня вычислялось только при вводе положительного аргумента, сделайте это следующим образом:
Private Sub txtArgument_TextChanged(...)... 
 If Val(txtArgument.Text) > 0 Then
   lblZnachenie.Text = Math.Sqrt(Val(txtArgument.Text))
 Else
   lblZnachenie.Text = "Действит. корней нет"
 End If
End Sub
  1. Запустите программу и убедитесь, что всё работает. Сохраните проект.
Контрольное задание:

Разработать приложение, которое вычисляет значение следующего выражения:

y = sinA + cosB

Указание:
вызов Sin и Cos происходит аналогично вызову Sqrt: т.е. через объект Math

 

Если у Вас возникли вопросы, предлагаем просмотреть видео урок visual basic по выполнению данной лабораторной работы.
youTube

Предлагаем также просмотреть видео по использованию условного оператора IF в Visual basic:
youTube

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

  1. Когда генерируется событие TextChanged для элемента управления TextBox?
  2. Какая функция VB переводит строковое значение в число?
  3. Почему необходимо проверять вводимые в TextBox данные?
  4. Какой оператор VB выполняет определенные действия в зависимости от заданного условия?
  5. Объясните назначение функций sqrt() и val().

* При использовании материалов обязательна ссылка на источник: Майер С.Ф., «MS Visual Basic 2008» — Учебно-методическое пособие : Южный федеральный университет. – Ростов-на-Дону, 2017. – 92 с.