Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
1 курс 2 семестр / ССВП / Презентация 9.ppt
Скачиваний:
64
Добавлен:
12.02.2015
Размер:
828.93 Кб
Скачать

Шаги по созданию своего

ЭУОткрыть новое приложение Windows

Добавить User Control

Добавить ЭУ из панели инструментов в пользовательский ЭУ

Написать код в процедурах

событий

Сохранить файл

Закрыть конструктор с

пользовательским ЭУ

Дать имя классу (.cs файл) и создать проект

Добавить свой ЭУ в WinForms

12

Использование специализированного ЭУ

Чтобы использовать данный пользовательский элемент управления в любом другом приложении:

Необходимо создать Control Class Library (Библиотека классов элементов управления)

Эта библиотека должна быть включена в приложение

Для создания Control Class Library (Библиотека классов элементов управления):

Создать новый проект Windows Control Library

Добавить элементы управления и код

Создать динамическую библиотеку DLL

Эту DLL необходимо включить в приложение

13

Добавление свойств к пользовательскому ЭУ

Для определения

свойства:

Определить закрытый (private) член данных

private int num = 0;

Определить открытое (public) свойство

public int MyNum

{

get{ return num; } set{ num=value; }

}

14

Обеспечение доступа к свойству

Код для доступа к свойству MyNum:

15

Пользователь и пользовательский ЭУ

Пользователю может потребоваться изменить свойства составляющих элементов управления

Составляющие элементы управления обычно объявляются закрытыми (private)

Для того, чтобы открыть всем свойство составляющего ЭУ:

Создать открытое (public) свойство

В секции Get этого свойства написать код, который извлекает значение требуемого свойства

В секции Set этого свойства написать код, который присваивает значение

16

Связывание событий с пользовательскими ЭУ

События действуют подобно мосту между приложением и пользователем

C# использует делегаты (delegates) для связывания событий с методами

Делегат (Delegate) позволяет другим классам выполнить подписку на оповещение о событии

В программной среде .NET Framework необходимо соблюдать некоторые правила, которые определяют события компонента

17

пользовательскими ЭУ (2)

Правила .Net framework определяют:

 

 

 

 

 

 

 

 

object

 

 

 

 

source (источник

 

Параметры

 

 

 

события)

 

делегата –

 

 

 

 

 

 

 

 

тип:

 

 

 

 

 

 

экземпляр

 

 

 

 

класса

 

 

 

 

EventArgs

 

18

пользовательскими ЭУ (3)

Обработка событий в WinForms управляется тем же способом, что и в C#

Объект, который оповещает другие объекты о событии, называется Publisher ("Издатель")

Объект, зарегистрировавший подписку на событие, называется Subscriber ("Подписчик")

Событие может иметь одного или нескольких подписчиков

Шаги по обработке событий включают:

Определение (Defining), Регистрация подписки (Subscribing) и Оповещение

(Notifying)

19

Определение события в

C# (1)

"Издатель" в первую очередь определяет делегат

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

Подписка объекта на событие зависит от того, существует ли это событие

Если событие существует, то объект подписчик просто добавляет делегата, который вызывает метод при генерации события

20

Определение события в

C# (2)

Генерация события оповещает все объекты, подписанные на это событие

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

Если на событие не подписано ни одного объекта, а событие сгенерировано, то генерируется исключение – exception

21

Соседние файлы в папке ССВП