Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Материал по ооп.docx
Скачиваний:
3
Добавлен:
04.08.2019
Размер:
102.94 Кб
Скачать
  1. Собственные атрибуты

Ограничения:

  • требуется, чтобы атрибут был наследником System.atribute

  • имена должны завершаться на Atribute

  • требуется описание допустимого назначения

  • могут описывать конструкторы с несколькими параметрами

  • могут описываться публичные поля и свойства

atribute usage:

через этот атрибут можно указать:

  • для чего используется атрибут

  • атрибут наследуется при наследовании типа, для которого он описан

  • Может обладать однократным или многократным применением.

Применяются для определения области описания. Преимущества атрибутов:

  • расширение документирования кода

  • широкая область применения

  • унификация хранения данных

Условные атрибуты:

# define DEBUG

# undef DEBUG

Сохранение атрибута:

  • представляется последовательность битов

  • записывается в таблицу метаданных для типа, объявленного в приложении

  • считывается с помощью Reflection из метаданных и является обыкновенным объектом от класса атрибута

Компиляция:

  • считывается компилятором

  • представляется последовательностью битов

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

  1. Отражение

  2. Сериализация

  3. Графический интерфейс Windows Forms

WinForms:

  • библиотека построена на GUI

  • поддержка концепции быстрой разработки приложений Rapid Application Development (RAD)

    • компонентно-ориентированная архитектура

    • управление, основанное на событиях

  • широкий набор элементов управления

  • Data-aware компоненты

Компонентная модель .NET описывает:

    • стандарты по использованию и разработке программных компонентов

    • жизненный цикл компонентов

Компонентная модель .NET Framework:

    • определяет правила на создание и использование компонентов .NET

Программные компоненты:

    • решают специф. задачи

    • повторно используемые

Программная модель Windows Forms:

Описывает:

  • файлы, диалоги

  • контролы

  • события

  • жизненный цикл приложения

  • модель рисования на контроле

  • управление фокусом ввода и навигаций

Главная нить приложения Windows Forms работает:

    • постоянно слушает сообщения

    • при получении сообщение обрабатывается:

    • определяет контрол к которому относится сообщение

    • передаёт ему сообщение

контрол или контрол-контейнер реагирует на сообщение

  1. Базовые классы Windows Forms

Библиотека WF описывает совок. базовых классов компонентов управления и контейнеров.

Основные базовые классы:

- Component - компонент .NET

- Control - графич. контрол

- ScrollControl - контрол с поддержкой скроллинга

- ContainerControl – контрол, содержащий другие контролы

Класс Control

- класс System.Windows.Forms.Control является основой любых граф. контролов WF

- его свойства являются общими для всех контролов WF

Важные свойства класса Control

Anchor Dock – задают как размещ. контрол в контейнере

Bounds – зад. размер и позицию контрола - контейнера

Controls – задает коллекцию влож. контролов

CanFocus – опр. фокус

Variables – возможность контрола

KeyDow.KeyUp – при нажатии клавиш

Move – перемещение контрола

Прорисовка на контроле

- при перекрытии контролов

- при смене активности

- при изменении размера или позиции

2 этапа прорисовки:

Invalidate() – подготовка к прорисовке весь контур или его часть и отпр. сообщ. Перерисовать

Update() – обрабатывает сообщ. перерисовать получ. от Invalidate() и обновляет указ. графический участок

  1. Основные классы Windows Forms

Формы и диалоги:

Класс System.Windows.Forms. Form

- форма в GUI прилож.

- в нее можно добавить контролы

Свойства:

FormBorderStyle – указ. тип рамки

Sizable - станд. расшир. рамки

FixedDialog- диалог с фиксир. размерами

Основные контролы:

TextBox- поле для ввода текста свойств

Multiline- дает возможность ввода нескольких строк

Управление с пом. событий

EventHandler- простая нотификация

KeyEventHandler- событие от клавы

Mouse EventHandler- событие от мыши

Добавление контролов:

  1. form1.controls.Add (button)

  2. редактировать список контролов, определяя месторасположение (последнего контрола в этом списке)

дизайнер WS генерирует автоматически с помощью событий

  1. Дополнительные классы Windows Forms

диалоговые окна

переключатели и списки

меню

панели инструментов

строка состояния

диалоги

  1. Типы приложений Windows Forms

MDI приложения поддерживают работу одновременно с несколькими документами

MDI контейнеры

- содержат др. формы

- зад. с пом. IsMdiContainer=true

MDI формы

- содержатся в контейнере формы MdiParent = <контейнер>

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

В WF имеются стандартные средства для проверки:

- validating - событие проверки в классе Control

- CancelEvent Args

- ErrorProvider – используется граф. контролами с некорректными данными

Связывание данных (однонаправленно):

Осуществляет автомат. передачу данных между контролом и источником данных.

Простое - связывание контрола с 1 объектом, с 1 элементом списка.

Сложное – связывание контрола с целым списком.

Базовая форма – обыкновенная форма контролы кот. м.б. изменены.

Контрол DataGridView:

  1. визуализирует табличные данные

  • осуществляет навигацию по строкам и столбцам

  • позволяет редактировать данные

  • сильная функциональность

  1. используется вместе с ADO.NET DataSet и DataTable

  2. DataSource – задаёт источник данных

  3. DataMember- задаёт путь к данным в рамках источника

  4. Свойства:

  • ReadOnly

  • CaptionVisible

  • ColumnHeadersVisible

  • Table Styles

Наследование форм

  • формы-наследники могут иметь дополнительную функциональность

  • возможно изменение общих частей на некоторых формах

  • изменение одного dll – файла может изменить все формы

Класс Graphics

  • представляет абстрактную поверхность для рисования

  • рисования в Paint

  • может создаваться с помощью Control.CreateGraphics()

- требует освобождение через блок finally или с конструкцией using

  1. Создание пользовательских компонентов

пользовательские контролы

создание контрола

хостинг контролов

нити

Drag’n’Drop

файлы конфигурации