Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебник_ПОА.doc
Скачиваний:
92
Добавлен:
13.02.2015
Размер:
2.65 Mб
Скачать

Структура программы и ход выполнения

При создании приложения C# нужно выбрать его тип: консольное приложение или приложение Windows Forms. Кроме различий в типе пользовательского интерфейса, они могут также отличаться ходом своего выполнения.

Приложения Windows Forms36

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

В отличие от процедурных языков программирования, таких как COBOL, BASIC или FORTRAN, здесь используется событийно управляемая модель. Наиболее фундаментальное различие в событийно управляемом программировании состоит в том, что программное обеспечение и сама операционная система вызывают методы обработчиков событий в приложении пользователя. Неизвестно, какие методы они вызовут. Программист может решить, какие события обрабатывать в приложении. Но, если возникновение события зависит от пользователя (например, нажатие кнопки или перемещение курсора мышки), то программист не должен рассчитывать на какой-либо порядок, в котором такие события будут происходить.

В типичном приложении Windows поля, массивы и коллекции, хранящие сведения о состоянии приложения, находятся в основном классе формы, имеющем по умолчанию имя Form1. В области действия класса эти члены доступны из всех методов обработчиков событий, реализованных в том же классе формы. При возникновении какого-либо события происходит вызов соответствующего обработчика этого события, если он описан. Далее обработчик может произвести действия над доступными ему данными в приложении. После завершения работы обработчика приложение вернется в состояние ожидания. Например, форма может содержать элемент TextBox и кнопку Обновить. Если у кнопки описан обработчик события Click, то при ее нажатии будет вызван этот обработчик. К примеру, обработчик может взять текст из TextBox и затем добавить его в какой-либо список строк, хранящийся в области действия класса. После этого приложение вернется в состояние ожидания. В ответ на пользовательский ввод другие обработчики событий могут осуществлять иные виды действий с тем же списком строк.

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

Console Applications

In many console applications, the flow of execution proceeds from one statement to the next until the end of the program is reached and the application terminates. Of course, this isn't always the case because a console application can still be driven by keyboard events and system events that are generated by objects such as timers and network connections. Simple console applications often consist of only one class, the one that contains the Main method. However, more complex applications may contain any number of classes.