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

Установка Visual Studio

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Файл 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 — это название вашего проекта в коде выше. Поэтому, если ваш проект называется по-другому, то вставьте своё название проекта.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 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();

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

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

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

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

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

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

Результат работы программы<ul><li>Visual Studio 2017 Logo.svg by Microsoft Corporation / (2019-06-08)</li></ul>