Пример – расчет рублевого эквивалента.
курс доллара – вещественное число вводится в TextBox1
сумма в долларах – целое число вводится в TextBox2
При нажатии Button1 вычисляется сумма в рублях и выводится в Label1
В Label1:
Text = ””
AutoSize = False – чтобы установить фиксированный размер поля,
а не автоматическое изменение под количество символов
В TextField1:
Multiline = False - Ввод только 1 строки
В button1
Text = “Вычислить”
Обработка события:
Click = button1_click имя метода взять по умолчанию
Сгенерирована пустая функция обработки:
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e)
{
}
копирование из лаб. 7
создать класс для вычислений:
проект-добавить класс (пустой, убрать управляемый)
#include "TestForm.h"
#include <stdio.h>
#include <string.h>
TestForm tf; // объект класса для вычислений
#pragma once
namespace WorkForm {
using namespace System;
using namespace System::ComponentModel;
using namespace System::Collections;
using namespace System::Windows::Forms;
using namespace System::Data;
using namespace System::Drawing;
using namespace Runtime::InteropServices; // для перевода строк - Маршализация
Текст задания вывода подсказки в label:
private: System::Void Form1_Load(System::Object^ sender, System::EventArgs^ e)
{
label1->Text="введите курс и количество долларов";
}
Текст отклика на нажатие кнопки:
private: virtual System::Void button1_Click(System::Object^ sender, System::EventArgs^ e)
{
String ^ s =gcnew String("");
s=textBox1->Text; // введенный текст в первое поле
char* chars =
( char*)(Marshal::StringToHGlobalAnsi(s)).ToPointer();
strcpy(tf.MyStr,chars); // запись во вспомогательный массив объекта tf
// класса TestForm
tf.sTB1=tf.MyStr; // строка для надписи textBox1
s=textBox2->Text;
chars = ( char*)(Marshal::StringToHGlobalAnsi(s)).ToPointer();
strcpy(tf.MyStr,chars);
tf.sTB2=tf.MyStr; // строка для надписи textBox2
tf.Calculate(); // вычисление вызов метода
String ^ss= gcnew String(tf.MyStr);
label1->Text=ss; // вывод в label1 результата
Marshal::FreeHGlobal(IntPtr((void*)chars));
} :