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

Целью данной работы является освоение той части программирования с++ для начинающих, которая связана с textBox — текстовым полем. Разбирается событие элемента TextChanged, генерируемое при изменении текста в текстовом поле. Попутно изучается работа сс типом данных visual c++ string

Событие TextChanged текстового поля и работа с типом данных String в Visual c++

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

Целью данной работы является освоение той части программирования с++ для начинающих, которая связана с textBox — текстовым полем. Разбирается событие элемента TextChanged, генерируемое при изменении текста в текстовом поле. Попутно изучается работа сс типом данных visual c++ string

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

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

VC++ изменение текстового поля

Выполнение:

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

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

  1. Измените имя текстового поля на txtArgument, а затем запрограммируйте для него событие TextChanged следующим образом:
private: System::Void txtArgument_TextChanged() {
int temp = System::Int32::Parse(txtArgument->Text);
temp=Math::Sqrt(temp);
lblZnachenie->Text = temp.ToString();
}

где Parse – функция преобразования строкового значение в целое число;

Sqrt — функция квадратного корня;

В visual c++ int to string или функция ToString() — преобразует числовое значение в эквивалентное ему строковое значение.

  1. Запустите программу и убедитесь, что всё работает. Сохраните проект.
Контрольное задание:
Используя описанный пример visual c++, разработать приложение, которое вычисляет значение следующего выражения:
y=sinA+cosB.

Примечание: Math::Sin(),Math::Cos(b)

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

  1. Что означает объектно-ориентированное программирование в c++?
  2. Когда генерируется событие TextChanged для элемента управления TextBox ?
  3. Какая функция C++ переводит строковое значение в число?
  4. Какой оператор C++ выполняет определенные действия в зависимости от заданного условия?
  5. Какие функции вы знаете для работы в visual c++ с типом string?
  6. Объясните назначение функций sqrt() и ToString ().