Windows Forms Обзор Oбзор Windows Forms — название
Windows Forms Обзор
Oбзор Windows Forms — название интерфейса программирования приложений (API), отвечающего за графический интерфейс пользователя и являющегося частью Microsoft .NET Framework. Данный интерфейс упрощает доступ к элементам интерфейса Microsoft Windows за счет создания обертки для существующего Win32 API в управляемом коде. Управляемый код — классы, реализующие API для Windows Forms, не зависят от языка разработки. То есть программист одинаково может использовать Windows Forms как при написании ПО на C#, С++, так и на VB.Net, J# и др. Внутри .NET Framework, Windows Forms реализуется в рамках пространства имён System.Windows.Forms.
История и развитие Библиотека Windows Forms была разработана, как часть .NET Framework для упрощения разработки компонентов графического интерфейса пользователя. Windows Forms построена на основе устаревающего Windows API и представляет собой по сути обертку нижележащих компонентов Windows.
История и развитие Windows Forms предоставляет возможность разработки кроссплатформенного графического пользовательского интерфейса. С выходом .NET Framework 3.0 (в составе Windows Vista) Windows Forms была заменена каркасом Windows Presentation Foundation (и его языком описания ГПИ XAML).
Реализация Приложение Windows Forms представляет собой событийно-ориентированное приложение, поддерживаемое Microsoft .NET Framework. Большая часть времени тратится на ожидание от пользователя каких-либо действий, как например, ввод текста в текстовое поле или клика мышкой по кнопке.
Реализация Windows Forms реализуется в рамках пространства имён System.Windows.Forms, которое входит в FCL (Framework Class Library) – библиотеку классов каркаса Framework .NET. Структура FCL представлена на следующем слайде. Для рисования в окне используются классы пространства имён System. Drawing.
Структура FCL
Основные классы пространства имен
System.Windows.Forms.Application Предоставляет статические методы и свойства для управления приложением, например методы для запуска и остановки приложений, для обработки сообщений Windows, и свойства, чтобы получить информацию о приложении. Этот класс не может быть унаследован. Методы: Application.Run (ссылка на форму) Exit() События: ApplicationExit Idle
Элементы управления - Control Специальный класс, включающий окно OC Windows в качестве поля. Элементы данного класса могут: - Показывать (рисовать) в заданном месте формы. Обрабатывать сообщения ОС Windows переданные данному окну и формировать события класса о действиях пользователя Элементы данного класса имеют два режима - Design mode – используется для визуального проектирования интерфейса на стадии разработки, может 1) Рисовать себя на форме 2) Задавать значения свойств в системе программирования - Run-Time mode – используется при работе программы - Менять картинку в зависимости от действий пользователя
Базовый класс Control - элемент управления (окно) включает в качестве поля номер окна hwnd используя hwnd и WinAPI может управлять своим окном получает и обрабатывает события от ОС Windows формирует новые события для классов пользователей – клиентов поддерживает два режима: Design mode Run-time mode void Show () { ::Show (hwnd, SC_MIN)} Class A : Control long hwnd = 1024; // обработчики событий
Некоторые базовые свойства класса System.Windows.Forms.Control Handle – номер окна Windows BackColor, ForeColor – фоновый цвет и цвет рисования Left, Top, Right, Bottom – координаты точек диагонали Height, Width – высота и ширина Size – размер окна ContextMenu – ссылка на контекстное меню Cursor - ссылка на курсор Name – имя элемента для работы системы разработки Parent – ссылка на родительское окно Text – заголовок Font – используемый шрифт Controls – список других элементов управления (если контейнер) TabIndex – порядок перехода при нажатии клавиши Tab Focused – имеет ли окно фокус ввода (get). Anchor – связывание со сторонами родительской формы. Dock – присоединение к сторонам родительской формы.
Некоторые методы базового класса System.Windows.Forms.Control Show() – показать окно на экране; Hide() - спрятать окно (убрать с экрана); OnEvent() – обработать заданное событие; CreateGrafics() – создать элемент класса Grafics для рисования в окне; Update() – обновить содержание окна; Invalidate() – объявить содержание окна неправильным, что заставляет ОС отправить событие WM_PAINT о необходимости перерисовки содержания окна.
Основные события классов элементов Общие события Paint GetFocuse LostFocuse Работа с мышкой Click, MouseDown, MouseEnter, MouseHover, MouseLeave, MouseMove, MouseUp, MouseWheel Работа с клавиатурой KeyDown, KeyUp, KeyPress
Обработка событий Для обработки событий нужно иметь: Делегата, который описывает метод, обрабатывающий событие. Класс, который содержит событие.
Некоторые методы базового класса System.Windows.Forms.Control Все события классов FCL имеют одинаковую сигнатуру (состав параметров) Состав параметров - Ссылка на объект, сгенерировавший событие Object - Объект содержащий параметры события EventArgs (или производный от него) public EventHandler (Object sender, System.EventArgs e)
Делегат EventHandler Представляет метод, который будет обрабатывать событие, не имеющее данных события. public delegate void EventHandler ( Object sender, EventArgs e ) ; EventArgs – базовый класс (пустой) для классов, которые содержат данные, описывающие произошедшее событие. Для передачи данных, описывающих событие нужно создать производный класс от класса System.EventArgs.
Класс основного окна программы System.Windows.Forms.Form Форма (Form) это специальный класс, который позволяет пользователю создавать и показывать окно OC Windows. Это окно может быть: - Основным окном программы; - Диалоговыми окнами программы. Для работы с окнами необходимо создать и показать объект класса Form Класс Form имеет множество свойств, методов, событий.
Структура производной формы События подключаются: event += new (delegate) Используя перегружаемые функции базового класса Производный от формы класс Класс Form Text Width Height Controls Menu MyMenu MyButton MyTextBox OnPaint OnMouseDown OnKeyDown Новые методы и свойства . . .
22160-wf.ppt
- Количество слайдов: 19