Сложение двух чисел в Visual Studio 2017 на C++ (CLR приложение)

Featured image

В статье рассказывается как создать CLR приложение сложения двух чисел в Visual Studio 2017 на C++.

📖 Содержание ⬇️

Содержание

Установка Visual Studio

Об установке программы с нужными пакетами можно прочитать в статье Установка Visual Studio 2017 Community | ↗️.

Создание проекта

Создание нового проекта

Рисунок 1 — Создание нового проекта

Выбор типа нового проекта

Рисунок 2 — Выбор типа нового проекта

Дописывание кода

В отличии от Visual Studio 2010 тут CLR приложения создаются пустыми без формы. Зачем они это сделали — непонятно. Будем добавлять форму самостоятельно.

Щелкаем по проекту правой кнопкой и следуем иллюстрациям:

Добавление нового элемента

Рисунок 3 — Добавление нового элемента

Создание новой формы

Рисунок 4 — Создание новой формы

Скорее всего, что у вас возникнет вот такая картинка с ошибками:

Ошибка при открытии созданной формы

Рисунок 5 — Ошибка при открытии созданной формы

В Visual Studio 2015 проблема решалась просто: достаточно было открыть и закрыть форму:

Закрытие формы

Рисунок 6 — Закрытие формы

Открытие формы

Рисунок 7 — Открытие формы

Но в Visual Studio 2017 обнаружилась проблема. При двойном клике по MyForm.h в Обозревателе решений открывается только текстовая версия файла без конструктора. Что делать?

Нужно просто закрыть Visual Studio, запустить заново и открыть только что созданный проект:

Открытие решения

Рисунок 8 — Открытие решения

Выбор главного файла решения

Рисунок 9 — Выбор главного файла решения

И потом двойным щелчком по MyForm.h открываем конструктор формы:

Открытие формы

Рисунок 10 — Открытие формы

Форма открылась

Рисунок 11 — Форма открылась

Далее перейдем в файл cpp нашей формы:

Файл cpp

Рисунок 12 — Файл cpp

Допишем там вот такой код после единственной строчки:

using namespace System;
using namespace System::Windows::Forms;

[STAThread]
void Main(array<String^>^args)
{
Application::EnableVisualStyles();
Application::SetCompatibleTextRenderingDefault(false);

Проект1::MyForm form;
Application::Run(%form);
}

Обратите внимание, что Проект1 — это название вашего проекта в коде выше. Поэтому, если ваш проект называется по-другому, то вставьте своё название проекта.

Щелкнем по проекту правой кнопкой и перейдем в его свойства:

Свойства проекта

Рисунок 13 — Свойства проекта

В настройках компоновщика нужно в двух местах поменять настройки:

Изменение подсистемы

Рисунок 14 — Изменение подсистемы

Изменение точки входа

Рисунок 15 — Изменение точки входа

Жмем OK, и мы закончили прикручивать форму к нашему приложению.

Можете запустить приложение и проверить работоспособность. Если приложение скомпилируется и запустится, то всё норм. Иначе проверьте все шаги до этого:

Запуск проекта

Рисунок 16 — Запуск проекта

Запуск проекта

Рисунок 17 — Запуск проекта

Запущенное приложение

Рисунок 18 — Запущенное приложение

Интерфейс приложения

Перейдем на форму. Можно сделать двумя способами:

Переход на форму

Рисунок 19 — Переход на форму

Обратите внимание, что код кнопок и сама форма прописывается в h файле, а не cpp.

Откроем и закрепим панель элементов:

Панель элементов

Рисунок 20 — Панель элементов

Закрепление панели элементов

Рисунок 21 — Закрепление панели элементов

Перетащите два textBox на форму, в которые будем записывать наши числа:

Перетаскивание первого textBox

Рисунок 22 — Перетаскивание первого textBox

Перетаскивание второго textBox

Рисунок 23 — Перетаскивание второго textBox

Перетащите кнопку на форму:

Перетаскивание кнопку

Рисунок 24 — Перетаскивание кнопку

Перетащите третий textBox на форму, в которую мы будем выводить информацию:

Перетаскивание третьего textBox

Рисунок 25 — Перетаскивание третьего textBox

Однострочные и многострочные текстовые поля задаются одним компонентом. Поэтому мы должны изменить параметры нашего textBox3, чтобы в нем можно было выводить много строк. Выделим наш textBox3 и изменим его параметры: значение параметра Multiline меняем на true:

Изменение свойства Multiline

Рисунок 26 — Изменение свойства Multiline

Теперь мы можем его растянуть вниз:

Растягивание textBox

Рисунок 27 — Растягивание textBox

Написание кода основной программы

Щелкнете по кнопке двойным кликом:

Клик по кнопке

Рисунок 28 — Клик по кнопке

Мы получили метод, в котором прописываем реакцию на клик нашей мыши:

Метод клика кнопки

Рисунок 29 — Метод клика кнопки

В фигурных скобках пропишем код нашей программы по считыванию двух чисел, их сложении и выводе результата:

 int x, y, z;

//Считаем значение из первого lineEdit
String^ S1 = textBox1->Text;
//Переведем значение в число
x = Convert::ToInt32(S1);

//Считаем значение из второго lineEdit
String^ S2 = textBox2->Text;
//Переведем значение в число
y = Convert::ToInt32(S2);

//Посчитаем сумму
z = x + y;

//Выведем результат
textBox3->Text = z.ToString();

Метод клика кнопки с кодом

Рисунок 30 — Метод клика кнопки с кодом

Запуск программы

Запуск приложения

Рисунок 31 — Запуск приложения

Получаем наше приложение:

Запущенное приложение

Рисунок 32 — Запущенное приложение

При вводе наших чисел получим вот это:

Результат работы программы

Рисунок 33 — Результат работы программы