logo search
Lesson2

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