Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lesson2.doc
Скачиваний:
2
Добавлен:
28.09.2019
Размер:
950.78 Кб
Скачать

Формы Windows

Формы Windows - это средства для создания приложений Windows, которые выполняются с помощью CLR.

Форма - окно, которое является основой для окна приложения или окна диалога, к которому Вы можете добавить другие управляющие элементы, с которыми пользователь может взаимодействовать. Visual C++ 2008 поставляется со стандартным набором элементов (более 60), которые Вы можете использовать с формой. Поскольку имеется очень большое количество элементов, мы познакомимся только с представительской выборкой, но этого будет достаточно, чтобы понять, как они используются и в дальнейшем самостоятельно разобраться с остальными элементами.

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

Часть элементов являются контейнерами, что означает, что они могут содержать другие элементы. Например, элемент GroupBox может содержать другие элементы типа Button или TextBox, и назначение GroupBox просто группировать элементы вместе для некоторой цели и обеспечить метку для группы в графическом интерфейсе пользователя (GUI).

Когда Вы создаете проект для Windows Forms приложения, окно приложения, основанное на классе формы, создается наряду со всем кодом для отображения окна приложения.

После того как Вы создадите Windows Forms проект, имеется четыре операции, встроенные в разработку Windows Forms приложения:

❑ Вы создаете графический интерфейс пользователя в интерактивном режиме во вкладке Form Design, которая отображена в области окна Редактора, выбирая элементы в окне Toolbox и помещая их на форму. Вы можете также создать дополнительные формы.

❑ Вы изменяете свойства элементов и форм в соответствии с потребностями в Окне свойств.

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

❑ Вы можете изменить и расширить классы, которые созданы автоматически, чтобы удовлетворить потребностям вашего приложения.

Windows Forms приложения

Сначала Вы должны понять, как работает заданный по умолчанию код для Windows Forms приложений.

Создайте новый CLR проект, используя шаблон приложения Windows Forms, и присвойте имя проекту Ex2_01. Область окна Редактора отображает графическое представление окна приложения. Вы можете посмотреть код, щелкая правой кнопкой мыши в окне Редактора или выбирая View Code в контекстном меню.

Код определяет класс Form1, который представляет окно приложения, и первая вещь, на которую обратите внимание - это то, что код определен в его собственном namespace:

namespace Ex2_01

{

using namespace System;

using namespace System:: ComponentModel;

using namespace System:: Collections;

using namespace System:: Windows:: Forms;

using namespace System:: Data;

using namespace System:: Drawing;

// rest of the code

//…

}

Когда Вы компилируете проект, создается новый блок, и код для этого блока - в пределах namespace Ex2_01, который будет тем же самым как проектное имя.

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

Есть также шесть директив для использования .NET библиотеки namespaces, и они охватывают функциональные возможности, в которых Вы будете нуждаться при разработке Вашего приложения.

Вот эти namespaces:

System

Этот namespace содержит классы, которые определяют типы данных, которые используются во всех приложениях CLR. Здесь также содержатся классы для событий и обработчиков событий, исключений, и классы, которые поддерживают обычно используемые функции.

System:: ComponentModel

Этот namespace содержит классы, которые поддерживают обработку компонент графического интерфейса пользователя (GUI) в приложении CLR.

System:: Collections

Этот namespace содержит классы коллекций для того, чтобы организовывать данные различными способами, и включает классы для определения списков, очередей и стеков.

System:: Windows:: Forms

Этот namespace содержит классы, которые поддерживают использование Windows Forms в приложении.

System:: Data

Этот namespace содержит классы, которые поддерживают ADO.NET, используемую для обращения и модифицирования данных.

System:: Drawing

Определяет классы, которые поддерживают основные графические операции типа рисования на форме или компоненте.

Класс Form1 получен из класса Form, который определен в System:: Windows::Forms namespace. Класс Form представляет окно или окно приложения или окно диалога, и класс Form1, который определяет окно для Ex2_01, наследует все элементы класса Form.

Раздел в конце класса Form1 содержит определение функции InitializeComponent(). Эту функцию называют конструктор, чтобы установить окно приложения и любые компоненты, которые Вы добавляете к форме. Комментарии указывают, что Вы не должны изменить этот раздел с использованием редактора кода, и этот код модифицируется автоматически, когда Вы изменяете окно приложения в интерактивном режиме.

Важно, что когда Вы действительно используете Дизайн Формы, то Вы не должны игнорировать эти комментарии и изменять автоматически сгенерированный код самостоятельно. Конечно, Вы можете записать весь код для Windows Forms приложения самостоятельно, но гораздо быстрее и менее подвержено ошибкам использовать возможности Дизайна Формы для вашего приложения в интерактивном режиме. Это не исключает, что Вы должны знать, как все это работает.

Код для функции InitializeComponent() первоначально выглядит следующим образом:

void InitializeComponent(void)

{

this->AutoScaleDimensions = System::Drawing::SizeF(8, 16);

this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font;

this->ClientSize = System::Drawing::Size(292, 260);

this->Name = L"Form1";

this->Text = L"Form1";

this->Load += gcnew System::EventHandler(this, &Form1::Form1_Load);

this->ResumeLayout(false);}

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