Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

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




Windows Forms Applications

Program Structure and Flow of Execution

When you create a C# application, you have the choice of creating a Console application or a Windows Forms application. The two differ not only in the type of user interface; they can also differ in their execution flow.

In a typical Windows-based application that has a graphical user interface, most of the action after initial startup occurs in response to user actions such as moving the mouse, selecting a menu option, or typing text. Such actions trigger events and special methods in your application named event handlers are called. Almost everything a Windows-based program does is initiated by an event handler. When no events are being generated, the program does nothing.

If you are used to procedural programming languages, such as COBOL, BASIC, or FORTRAN, you will have to get used to the event-driven model. The most fundamental difference is that, in event-driven programming, other software, and the operating system itself, is calling event-handler methods in your application. You do not know which methods they will call. You can decide which events to handle in your application, but you cannot know in advance the exact order in which those events will occur.

In a typical Windows-based application, fields, arrays, and collections that hold the application's state are put in the main Form class that is named Form1 by default. At the scope of the class, these members are accessible from all the event handler methods that are implemented in the same Form class. When an event handler is called, it may do something to modify the application data, and when the method returns, the application resumes its waiting state. For example, a form may contain a TextBox control and an Update button. When a user clicks the button, the application's event handler might get the text in the TextBox, for example, and then add it to a list of other strings that are stored at the scope of the class. After the string has been added, the application returns to the waiting state. Other event handlers may perform other kinds of actions on that same list of strings in response to user input.

Your own custom classes can send and receive events by using the same mechanisms as Windows Forms.


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

 

Приложения Windows Forms [36]

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

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

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

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





Поделиться с друзьями:


Дата добавления: 2014-12-27; Просмотров: 367; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.009 сек.