Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛР7 Формы и Графика.docx
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
157.09 Кб
Скачать

Лабораторная работа № 7. Создание Windows - приложений и введение в компьютерную графику

1.Цель работы

Цель выполнения данной лабораторной работы состоит в изучении следующих вопросов:

  • Создание приложений Windows Forms

  • Создание графических примитивов с помощью класса Graphics

2. Теоретические сведения

2.1 Создание приложений с использованием форм

П роцесс создания приложения WindowsForms начинается точно так же, как и проекты всех других типов в VisualStudio: вы выбираете шаблон проекта Приложения WindowsForms в диалоговом окне NewProject. После этого загружается визуальный конструктор WindowsForm (рис. 1).

Рис. 1. «Начальная форма в визуальном конструкторе WindowsForm»

Как видно из рисунка, внутри визуального конструктора находится макет реальной формы. Это холст для Вашего интерфейса пользователя. При помощи этого холста Вы можете добавлять на форму элементы управления и визуальные элементы, подстраивать внешний вид самой формы и переходить непосредственно к коду, который связан с формой. Для исследования работы самого визуального конструктора начните с простой конструкторской задачи: предположим, что Вы хотите взять пустую форму, которую сгенерировала для вас VisualStudio, и создать из нее диалоговое окно регистрации, позволяющее пользователям вводить имя и пароль и подтверждать свой ввод при помощи нажатия кнопки OK. Должна иметься так же и кнопка Cancel для того чтобы убрать форму.

Настройка внешнего вида

При помощи операций перетаскивания и диалогового окнаProperty (вызывается щелчком правой кнопкой мыши по области формы) настроим внешний вид формы:

  1. Редактируем размер формы с помощью перетаскивания меток-манипуляторов на нижнем и правом краях формы, а так же в ее правом нижнем углу;

  2. С помощью свойств формы (диалоговое окно Property) изменяем заголовок формы на Login (свойство Text) и вид рамки и ее поведение на FixedDialog (свойство FormBorderStyle).

У Вас должна получиться форма подобная изображенной на рисунке 2.

Рис. 2 «Внешний вид формы»

С помощью диалогового окна Property (свойства) Вы так же можете изменить другие атрибуты формы, такие как цвет, шрифт, курсор и т. д.

Добавление на форму элементов управления

Элементы управления – это украшения формы, которые имеют собственный пользовательский интерфейс. Они представляют собой основной механизм взаимодействия с формой. Иначе говоря, форма – это в действительности просто контейнер для различных элементов управления, которые реализуют необходимую для формы функциональность.

Вы можете очень просто добавлять на форму элементы управления (при помощи перетаскивания их из панели Toolbox).

Панель Toolbox (Панель элементов) это стыкуемое окно внутри интегрированной среды; оно видно только тогда, когда вы редактируете элемент проекта, который поддерживает функциональность этой панели. Для того чтобы обеспечить видимость панели инструментов, выберите ее в меню View(вид). Чтобы разместить на форме элемент управления, перетащите его представление из панели инструментов на форму. Некоторые элементы управления (называемые компонентами) не имеют видимого пользовательского интерфейса. Один из таких компонентов – это таймер. Когда вы перетаскиваете компонент на форму, то он размещается в отдельной области визуального конструктора (называемой лотком компонентов).

Изменение размеров элементов управления и редактирование атрибутов

Когда элемент управления уже находиться на своем месте на родительской форме, Вы можете взаимодействовать с ним различными способами. Вы можете настроить свойства элемента управления при помощи окна Properties (вызывается щелчком правой кнопкой мыши по элементу управления)

Теперь добавляем элементы управления на форму:

  1. Добавляем две кнопки (элемент управления Button), с помощью свойства Textокна Propertiesизменяем надпись на кнопках на OKи Cancel.

  2. Добавляем два текстовых поля (TextBox) и две метки (Label), меняем свойство Textметок на IDи Passwordсоответственно.

П осле редактирования размеров и положения элементов управления на форме вы должны получить форму, представленную на рис. 3.

Рис. 3. Диалоговое окно регестрации.

Написание кода

Несмотря на то, что визуальный конструктор превосходен для визуального конструирования пользовательского интерфейса, его возможности в смысле реализации поведения ограничены. Вы можете использовать конструктор для размешения кнопки, но обработка нажатия кнопки и реакция на него – это по прежнему область действия кода.

Для того чтобы написать код который выполняется по нажатию на кнопку, необходимо дважды шелкнуть по изображению кнопки, после этого внутри функции button_clickможно описать те операторы которые должны быть выполнены при нажатии на кнопку button.

По нажатии на кнопку Cancel необходимо закрыть форму, тогда внутри функции buttonCancel_clickнеобходимо написать:

this->Close(); //закрытие текущей формы

По нажатии на кнопку OK необходимо проверить введины ли значения в текстовые поля и сохранить их.

Добавим на форму еще одну метку (Label3), свойство Visibleкоторой присвоем False, это будет означать что метка не будет видна при запуске программы.

Ниже приведен листинг для функции buttonOK_click:

//проверяем не пустыли текстовые поля

if ((this->textBox1->Text=="")||(this->textBox2->Text==""))

{

//Присваем метке новое значение

this->label3->Text="Не введен логин или пароль";//

}

else

{

//Сохраняем значения из текстовых полей в переменные aи b

String ^a,^b;

a=this->textBox1->Text;

b=this->textBox2->Text;

this->label3->Text="Вашиданныеприняты";

}

//делаемметкувидимой

this->label3->Visible=true;

Необходимо заметить, что значения текстовых полей и меток имеют тип String ^, чтобы сохранять их значения в переменные других типов необходимо использовать преобразование типов, например, если в текстовое поле необходимо записать значение переменой с типа int надо написать следующий код:

this->textBox1->Text=Convert::ToString(c);

Чтобы преобразовать переменные из одного типа в другой можно использовать класс Convert и его методы ToString, ToInt32, и т. д.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]