Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шилгд WinForms.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
49.67 Кб
Скачать

Глава 25. Создание Windows-приложений 693

начинается выполнение программы. Однако заметьте, что заголовку метода Main{)

предшествует свойство STAThread. Microsoft заявляет, что это свойство должен иметь

метод Main () в каждой Windows-программе. Свойство STAThread устанавливает мо-

дель организации поточной обработки (threading model), а именно модель с однопо-

точным управлением, т.е. такую обработку данных, когда все объекты выполняются в

едином процессе (single-threaded apartment — STA). Рассмотрение моделей организа-

ции поточной обработки выходит за рамки этой главы, но вкратце заметим, что

Windows-приложение может использовать одну из двух моделей: с однопоточным или

многопоточным управлением.

В методе Main () создается объект класса WinSkel с именем skel. Этот объект за-

тем передается методу Run (), определенному в классе Application:

I Application.Run(skel);

Эта инструкция запускает механизм функционирования окна. Класс Application

определяется в пространстве имен System.Windows. Forms и инкапсулирует аспекты,

присущие всем Windows-приложениям. Вот как определяется используемый здесь ме-

тод Run():

public static void Run(Form ob)

В качестве параметра он принимает ссылку на форму. Поскольку класс WinSkel

выведен из класса Form, объект типа WinSkel можно передать методу Run ().

Эта программа при выполнении создает окно, показанное на рис. 25.1. Оно имеет

стандартный размер (300 пикселей по ширине и 300 пикселей по высоте). Это окно

полностью функционально. Можно изменить его размеры, переместить, свернуть,

восстановить и закрыть. Таким образом, основные свойства, присущие практически

всем окнам, были достигнуты написанием всего нескольких строк программного кода.

Для сравнения: такая же программа, написанная на языке С и напрямую вызывающая

интерфейс Windows API, потребовала бы приблизительно в пять раз больше про-

граммных строк!

Предыдущий пример продемонстрировал основные принципы создания Windows-

приложений, основанных на применении окон. Итак, чтобы создать форму, создайте

класс, производный от класса Form. Затем инициализируйте эту форму в соответствии

с требованиями приложения, создайте объект производного класса и вызовите метод

Application. Run () для этого объекта.

/

Компиляция первой Windows-программы

Windows-программу можно скомпилировать, используя либо компилятор команд-

ной строки, либо среду разработки Visual Studio. Для таких коротких программ, как

те, что представлены в этой главе, вполне подойдет компилятор командной строки

(как самый простой вариант), но для реальных приложений стоит использовать IDE.

(Кроме того, как разъяснялось в начале главы, имеет смысл освоить средства разра-

ботки, предоставляемые пакетом Visual Studio.) В любом случае здесь описаны оба ва-

рианта компиляции Windows-приложений.

Компиляция из командной строки

Назовите нашу первую Windows-программу WinSkel. cs и скомпилируйте ее, вы-

звав компилятор командной строки с помощью следующей команды:

1 esc /trwinexe WinSkel.cs

Ключ /t:winexe указывает компилятору на создание Windows-приложения, а не

консольной программы. Чтобы выполнить программу, достаточно ввести в команд-

ную строку текст WinSkel.