Разработка приложений Windows с использованием диалоговых окон.


Практическая работа № 7.
Разработка приложений Windows с использованием диалоговых окон.
Цель работы: получить навык работы с объектами в среде Visual C++.
Теоретическая часть
В терминах разработки .NET приложение с графическим интерфейсом пользователя Windows называется приложением Windows Forms (или Winforms). Разработка проекта Windows Forms с помощью Visual C++ в общих чертах не отличается от разработки на других языках .NET, таких как Visual Basic или C#.
Приложения Windows Forms в Visual C++ используют классы .NET Framework и иные функциональные возможности .NET с новым синтаксисом Visual C++.
Замечание: отобразите окно свойств для элементов (Вид→Другие окна→Окно свойств или Alt+Enter).
109220238125форма
00форма

Замечание: знакомьтесь с назначением элементов формы, просматривая всплывающие подсказки:
2780030106553000
Стандартное содержимое вашего проекта можно увидеть в Обозревателе решений:

Ранее вы уже выводили на экран окно с сообщением с помощью MassageBox. В данной практической работе будет рассмотрен очень актуальный и популярный вопрос – "Как связать две формы?".
Написано огромное количество программ, в которых после нажатия кнопки появляется новая форма с новыми элементами.
Ход работы
Изучите теоретическую часть
Задание 1. (Создание многооконных приложений.)
В текстовое поле вводится число, нажимается кнопка, введенное число возводится в квадрат, после чего появляется "Form2", на которой тоже есть текстовое поле, где будет показан результат возведения числа в квадрат.
Создайте новый проект С++ (Файл→Создать→Проект→ВыбратьCLR+“Приложение Windows Forms”).Появится уже знакомая вам форма Form1.
Создайте вторую форму в этом же проекте:
пункт меню "Проект”→ "Добавить новый элемент→"Форма Windows Forms";
назовите элемент –"Form2".

Расположите на форме Form1:
текстовое поле: textBox1;
кнопку button1;
контейнер для изображения pictureBox1.
Расположите на форме Form2
текстовое поле: textBox2;
контейнер для изображения pictureBox2.
Задайте атрибуты BackColor, Text, Font и Image для Form, textBox1и pictureBox1 соответственно так, чтобы формы приняли следующий вид:

Важно понять – поскольку элемент "textBox1" будет находится на обеих формах, то его нужно объявить как public в верху кода формы "Form2".
В "Form2" просто поменяйте private на public у элемента textBox:
764540216662000
В коде формы "Form1" в самом верху кода подключите библиотеку второй формы #include "Form2".
918845119253000
В одном из событий нужно писать:
Form2^ gForm2 = gcnew Form2;
gForm2->Show();
gForm2->какой-то элемент;
Добавьте код для кнопки: дважды кликните по ней, в открывшемся окне пропишите содержимое фигурных скобок:
56959547752000
Примерный результат работы вашей программы:

Задание 2.
Вспомните Практическую работу №7 “Вычисление факториала”, вам нужно изменить программу таким образом, чтобы результат выводился в новом окне.
34417012084050043922959626602653030525780

Замечание: если ваш проект для П.р. №7 сохранен, можете просто дополнить его, если нет – выполните нижеследующие действия.
Покажите выполненную работу преподавателю и получите дополнительное задание.
Ответьте на контрольные вопросы.
Дополнительное задание.
Дополните программу так, чтобы первая форма после нажатия на кнопку закрывалась.